You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Being started without --debug and --foreground options pimd cant determine bootstrap router so doesn't send RP advertises. The reason is that we call pid=getpid() in routesock.c and use that value later to determine the valid message from routing socket.
But between those operations we do fork() in main.c to daemonize pimd, so it gets new process ID that is different from pid. After that rtm.rtm_pid != pid becomes always true and k_req_incoming() always returns FALSE.
The patch, probably not optimal, follows.
It moves pid determinition from init_routesock() to k_req_incoming().
skif-kiev commented on 14 Apr:
> Being started without --debug and --foreground options pimd cant
> determine bootstrap router so doesn't send RP advertises. The reason
> is that we call `pid = getpid()` in routesock.c and use that value
> later to determine the valid message from routing socket.
>
> But between those operations we do `fork()` in main.c to daemonize
> pimd, so it gets new process ID that is different from pid. After that
> `rtm.rtm_pid != pid` becomes always true and `k_req_incoming()` always
> returns FALSE.
Signed-off-by: Joachim Nilsson <[email protected]>
FreeBSD 9.2-RELEASE amd64
pimd 2.2.0-alpha1
Being started without --debug and --foreground options pimd cant determine bootstrap router so doesn't send RP advertises. The reason is that we call pid=getpid() in routesock.c and use that value later to determine the valid message from routing socket.
But between those operations we do fork() in main.c to daemonize pimd, so it gets new process ID that is different from pid. After that rtm.rtm_pid != pid becomes always true and k_req_incoming() always returns FALSE.
The patch, probably not optimal, follows.
It moves pid determinition from init_routesock() to k_req_incoming().
The text was updated successfully, but these errors were encountered: