diff --git a/nsock/src/nsock_connect.c b/nsock/src/nsock_connect.c index 7a9908bf8..e83abac85 100644 --- a/nsock/src/nsock_connect.c +++ b/nsock/src/nsock_connect.c @@ -62,8 +62,6 @@ #include #include -extern struct timeval nsock_tod; - /* Create the actual socket (nse->iod->sd) underlying the iod. This unblocks the * socket, binds to the localaddr address, sets IP options, and sets the * broadcast flag. Trying to change these functions after making this call will @@ -112,8 +110,6 @@ int nsock_setup_udp(nsock_pool nsp, nsock_iod ms_iod, int af) { assert(nsi->state == NSIOD_STATE_INITIAL || nsi->state == NSIOD_STATE_UNKNOWN); - gettimeofday(&nsock_tod, NULL); - if (ms->tracelevel > 0) nsock_trace(ms, "UDP unconnected socket (IOD #%li)", nsi->id); @@ -185,9 +181,6 @@ nsock_event_id nsock_connect_tcp(nsock_pool nsp, nsock_iod ms_iod, nsock_ev_hand assert(nsi->state == NSIOD_STATE_INITIAL || nsi->state == NSIOD_STATE_UNKNOWN); - /* Just in case someone waits a long time and then does a new connect */ - gettimeofday(&nsock_tod, NULL); - nse = msevent_new(ms, NSE_TYPE_CONNECT, nsi, timeout_msecs, handler, userdata); assert(nse); @@ -217,9 +210,6 @@ nsock_event_id nsock_connect_sctp(nsock_pool nsp, nsock_iod ms_iod, nsock_ev_han assert(nsi->state == NSIOD_STATE_INITIAL || nsi->state == NSIOD_STATE_UNKNOWN); - /* Just in case someone waits a long time and then does a new connect */ - gettimeofday(&nsock_tod, NULL); - nse = msevent_new(ms, NSE_TYPE_CONNECT, nsi, timeout_msecs, handler, userdata); assert(nse); @@ -254,9 +244,6 @@ nsock_event_id nsock_connect_ssl(nsock_pool nsp, nsock_iod nsiod, nsock_ev_handl mspool *ms = (mspool *)nsp; msevent *nse; - /* Just in case someone waits a long time and then does a new connect */ - gettimeofday(&nsock_tod, NULL); - if (!ms->sslctx) nsp_ssl_init(ms); @@ -340,9 +327,6 @@ nsock_event_id nsock_connect_udp(nsock_pool nsp, nsock_iod nsiod, nsock_ev_handl assert(nsi->state == NSIOD_STATE_INITIAL || nsi->state == NSIOD_STATE_UNKNOWN); - /* Just in case someone waits a long time and then does a new connect */ - gettimeofday(&nsock_tod, NULL); - nse = msevent_new(ms, NSE_TYPE_CONNECT, nsi, -1, handler, userdata); assert(nse); diff --git a/nsock/src/nsock_event.c b/nsock/src/nsock_event.c index 4d84e3a1b..62c7a5a68 100644 --- a/nsock/src/nsock_event.c +++ b/nsock/src/nsock_event.c @@ -398,6 +398,9 @@ msevent *msevent_new(mspool *nsp, enum nse_type type, msiod *msiod, int timeout_ nsock_ev_handler handler, void *userdata) { msevent *nse; + /* Bring us up to date for the timeout calculation. */ + gettimeofday(&nsock_tod, NULL); + if (msiod) { msiod->events_pending++; assert(msiod->state != NSIOD_STATE_DELETED); diff --git a/nsock/src/nsock_timers.c b/nsock/src/nsock_timers.c index 254ce1dfc..797470899 100644 --- a/nsock/src/nsock_timers.c +++ b/nsock/src/nsock_timers.c @@ -66,8 +66,6 @@ nsock_event_id nsock_timer_create(nsock_pool ms_pool, nsock_ev_handler handler, mspool *nsp = (mspool *)ms_pool; msevent *nse; - gettimeofday(&nsock_tod, NULL); - nse = msevent_new(nsp, NSE_TYPE_TIMER, NULL, timeout_msecs, handler, userdata); assert(nse);