X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=server.c;h=5777ec438d418eead0affdb00af289af889fcbed;hp=7171c6e2814808ae19132f9a4c199485536bd727;hb=61250cf03241bf73662dac3753e44660a572fa2a;hpb=97f53e18953fc2013c0b14f0261ac385e45b0284 diff --git a/server.c b/server.c index 7171c6e2..5777ec43 100644 --- a/server.c +++ b/server.c @@ -20,25 +20,25 @@ #include #include "para.h" +#include "error.h" #include "server.cmdline.h" #include "afs_common.h" #include "afh.h" +#include "string.h" +#include "afs.h" #include "server.h" #include "vss.h" #include "config.h" #include "close_on_fork.h" #include "send.h" -#include "error.h" #include "net.h" #include "daemon.h" -#include "string.h" #include "ipc.h" #include "fd.h" #include "list.h" #include "sched.h" #include "signal.h" #include "user_list.h" -#include "afs.h" /** define the array of error lists needed by para_server */ INIT_SERVER_ERRLISTS; @@ -352,7 +352,7 @@ out: } uint32_t afs_socket_cookie; -static int afs_socket; +int afs_socket; static pid_t afs_pid; static void init_afs(void) @@ -499,14 +499,14 @@ repeat: /* check socket and signal pipe in any case */ para_fd_set(sockfd, &rfds, &max_fileno); para_fd_set(signal_pipe, &rfds, &max_fileno); - timeout = vss_preselect(); + timeout = vss_preselect(&rfds, &wfds, &max_fileno); status_refresh(); for (i = 0; senders[i].name; i++) { if (senders[i].status != SENDER_ON) continue; if (!senders[i].pre_select) continue; - senders[i].pre_select( &max_fileno, &rfds, &wfds); + senders[i].pre_select(&max_fileno, &rfds, &wfds); } if (selectors[mmd->selector_num].pre_select) { ret = selectors[mmd->selector_num].pre_select(&rfds, &wfds); @@ -515,6 +515,7 @@ repeat: mmd_unlock(); ret = para_select(max_fileno + 1, &rfds, &wfds, timeout); mmd_lock(); + vss_post_select(&rfds, &wfds); if (mmd->selector_change >= 0) change_selector(); if (selectors[mmd->selector_num].post_select)