From dc045046769fca1a2d571abb8e3b252d9759a301 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Wed, 5 May 2004 00:59:42 +0000 Subject: [PATCH] must close marked connections at the end of run_scheduled_events. otherwise they might have a socket -1, and if we leave them around they'll muck up poll/select. i think this was the cause of our win32 and os x fakepoll crashes, and probably would cause other errors down the road. svn:r1786 --- trunk/src/or/main.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/trunk/src/or/main.c b/trunk/src/or/main.c index cc3789e85c..122af87bb9 100644 --- a/trunk/src/or/main.c +++ b/trunk/src/or/main.c @@ -445,16 +445,12 @@ static void run_scheduled_events(time_t now) { last_uploaded_services = now; } -#if 0 - /* 6. and blow away any connections that need to die. can't do this later - * because we might open up a circuit and not realize we're about to cull - * the connection it's running over. - * XXX we can remove this step once we audit circuit-building to make sure - * it doesn't pick a marked-for-close conn. -RD + /* 6. and blow away any connections that need to die. have to do this now, + * because if we marked a conn for close and left its socket -1, then + * we'll pass it to poll/select and bad things will happen. */ for(i=0;i