On Mon, May 05, 2014 at 08:25:23PM +0200, Denis Fondras wrote: > Hello all, > > I am hacking around OpenBGPd and there is a portion of code I can't > quite understand. > > I wonder why "pipe_m2r[2]" is passed as a parameter to > > pid_t session_main(int pipe_m2s[2], int pipe_s2r[2], int pipe_m2r[2], > int pipe_s2rctl[2]) > (in session.c) > > and "pipe_s2r[2]" is passed to > > pid_t rde_main(int pipe_m2r[2], int pipe_s2r[2], int pipe_m2s[2], int > pipe_s2rctl[2], int debug) > (in rde.c) > > It seems the only usage in both these functions is a close() call. > > What is the point of passing the parameters ? I thought it would be > close()'d from main() in bgpd.c. > > Thank you in advance for any hints. > > Regards, > Denis
Take a look at what fork() does with file descriptors.

