[olsr-dev] debug_level=0 & standart I/O

aaron (spam-protected)
Mon Mar 28 12:36:43 CEST 2005


On Mon, 28 Mar 2005, Andreas [iso-8859-1] Tønnesen wrote:

hi!

in *BSD (dont know about linux) there is the nice daemon() syscall exactly 
for that. It does it the "right" way.

something like
    pid=fork()
    switch(pid) {

      case 0: /* child */
        blabla
        stdin2=dup(0);
        stdout2=dup(1);
        stderr2=dup(2);
        close(0);
        close(1);
        close(2);
        chdir("/");
        ...
        connect to syslog if you want
        blabla

      default: /parent */
        blabla
        wait() or exit()
    }


hope it is usefull

a.

> Hi Grégory,
>
> Wouldn't the right thing here be for the parent process to close the
> handlers? Or does that not work?
> I'll add Thomas' suggested code when I get back from vacation(tomorrow),
> so there will be a fix for this in 0.4.9.
>
> - Andreas
>
>>
>> 		Hi,
>>
>> 	I'm using PHP on a web server for making a page that start/stop olsrd.
>> When PHP execute "olsrd -i eth0 -d 0" command (for example), it waiting
>> for the end of command... and it never happens because while the
>> standard I/O (stdin/stdout/stderr) are not closed, php think that the
>> process is running...
>>
>> 	If I modified the main.c by writing "fclose(stdin); fclose(stdout);
>> fclose(stderr)" before the setsid command (in the child code), it run
>> ok....
>>
>> 	So, is it a good idea to close the standard I/O after the fork (for the
>> child, the parent exit normaly) or is there an other solution ?
>>
>> Best regards,
>>
>> --
>> Grégory Marfjan
>>
>>
>>
>> _______________________________________________
>> olsr-dev mailing list
>> (spam-protected)
>> https://www.olsr.org/mailman/listinfo/olsr-dev
>>
>
>
> ---------
> Andreas Tønnesen
> http://www.olsr.org
> _______________________________________________
> olsr-dev mailing list
> (spam-protected)
> https://www.olsr.org/mailman/listinfo/olsr-dev
>
>


---
Yesterday it worked.
Today it is not working.
Windows is like that.
               		 (old japanese haiku wisdom)


More information about the Olsr-dev mailing list