| 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: | Whole Thread | Raw Message | 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 |