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)
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 |