X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=dccp_send.c;h=bca7ad6781e29d2bb1bea686d3971e02ede59909;hp=770ac601047a892025724bbb7e677a7d8bcaed18;hb=cb920d36d5fbd7888a2890a759d852f4b3089b3f;hpb=e2167286448ce2ed9a01a548e7e9832563035088 diff --git a/dccp_send.c b/dccp_send.c index 770ac601..bca7ad67 100644 --- a/dccp_send.c +++ b/dccp_send.c @@ -39,8 +39,11 @@ struct dccp_fec_client { static void dccp_pre_select(int *max_fileno, fd_set *rfds, __a_unused fd_set *wfds) { - if (dss->listen_fd >= 0) - para_fd_set(dss->listen_fd, rfds, max_fileno); + unsigned n; + + FOR_EACH_LISTEN_FD(n, dss) + if (dss->listen_fds[n] >= 0) + para_fd_set(dss->listen_fds[n], rfds, max_fileno); } /** @@ -84,6 +87,7 @@ static void dccp_shutdown(void) { dccp_shutdown_clients(); generic_acl_deplete(&dss->acl); + free_sender_status(dss); } /** * Obtain current MPS according to RFC 4340, sec. 14. */ @@ -225,8 +229,11 @@ static char *dccp_status(void) static void dccp_send_init(void) { init_sender_status(dss, OPT_RESULT(DCCP_ACCESS), + OPT_RESULT(DCCP_LISTEN_ADDRESS), OPT_UINT32_VAL(DCCP_PORT), OPT_UINT32_VAL(DCCP_MAX_CLIENTS), OPT_GIVEN(DCCP_DEFAULT_DENY)); + if (OPT_GIVEN(DCCP_NO_AUTOSTART)) + return; generic_com_on(dss, IPPROTO_DCCP); }