From: sos AT prospect DOT com DOT ru (Sergey Okhapkin) Subject: Select() fix. 15 Sep 1998 13:47:12 -0700 Message-ID: <01BDE108.8C42FBF0.cygnus.cygwin32.developers@sos> To: "'cygwin32-developers AT cygnus DOT com'" Hi! select.cc (thread_pipe): sleep for 10ms on every iteration. (start_thread_pipe): fill in me->h if pipe thread already started. --- select.cc.orig Fri Sep 11 05:21:45 1998 +++ select.cc Tue Sep 15 23:15:58 1998 @@ -414,6 +414,7 @@ thread_pipe (DWORD *arg) goto out; } } + Sleep (10); } out: return 0; @@ -423,7 +424,10 @@ static int start_thread_pipe (select_record *me, select_stuff *stuff) { if (stuff->device_specific[FHDEVN(FH_PIPE)]) - return 1; + { + me->h = ((pipeinf *) stuff->device_specific[FHDEVN(FH_PIPE)])->thread; + return 1; + } pipeinf *pi = new pipeinf; pi->start = &stuff->start; pi->stop_thread_pipe = FALSE; -- Sergey Okhapkin, http://www.lexa.ru/sos Moscow, Russia