Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!rpi!batcomputer!cornell!ken From: ken@gvax.cs.cornell.edu (Ken Birman) Newsgroups: comp.sys.isis Subject: isis_accept_events(ISIS_BLOCK): bug fix Message-ID: <34783@cornell.UUCP> Date: 2 Dec 89 01:21:37 GMT Sender: nobody@cornell.UUCP Reply-To: ken@cs.cornell.edu (Ken Birman) Distribution: comp Organization: Cornell Univ. CS Dept, Ithaca NY Lines: 17 I tracked down and fixed the bug that caused isis_accept_events(ISIS_BLOCK) to block indefinitely, even if an event occurs. Patches to clib/cl_isis.c: LINE CONTENTS (OLD, NEW) old 596 int set_scheduler = 0, ran = 0; new 596 int set_scheduler = 0, ran = 0, sync_count = 0; new 607 if(t_waiting(&accept_events)) new 608 ++sync_count; old 711: if(ran == 0 && async_accept_count) old 712: t_sig_all(&accept_events, 0); new 713: if((ran == 0 && async_accept_count) || (ran && sync_count)) new 714: t_sig_all(&accept_events, 0);