Re: [Pgsql-ayuda] Problemas con función en C

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Magnvs -- Carles Querol <magnvsctv(at)hotmail(dot)com>
Cc: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] Problemas con función en C
Date: 2004-01-23 18:40:32
Message-ID: 20040123184032.GA29556@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Fri, Jan 23, 2004 at 05:50:57PM +0000, Magnvs -- Carles Querol wrote:

> 8 Datum CridarExec (PG_FUNCTION_ARGS) {
> 9 int retornat;
> 10 char *path = PG_GETARG_TEXT_P(0);
> 11 char *args = PG_GETARG_TEXT_P(1);
> 12
> 13 retornat = execve(path, &args, NULL);
> 14
> 15 PG_RETURN_INT32((int32)retornat);
> 16 }
>
> En principio está bien, se compila como un objeto compartido
> (CridarExec.so), la defino dentro de postgres correctamente (Function
> created) pero, no funciona, dándome un código de error de -1:

Verifica errno() despues del execve(), eso te deberia indicar que es lo
que está fallando. Quizas no quieras usar execve() despues de todo,
sino execv(3) o execvp(3) ... De todas maneras supongo que args es un
arreglo a char * terminados con un 0?

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La virtud es el justo medio entre dos defectos" (Aristóteles)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message CW_ASN - Gus 2004-01-23 21:16:28 [Pgsql-ayuda] Problema con librería libpq
Previous Message Manuel Sugawara 2004-01-23 18:14:16 Re: [Pgsql-ayuda] Problemas con función en C