Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site allegra.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!jpl
From: jpl@allegra.UUCP (John P. Linderman)
Newsgroups: net.bugs.uucp
Subject: Re: Re: hung line help needed
Message-ID: <2933@allegra.UUCP>
Date: Thu, 29-Nov-84 09:39:34 EST
Article-I.D.: allegra.2933
Posted: Thu Nov 29 09:39:34 1984
Date-Received: Fri, 30-Nov-84 06:47:24 EST
References: <85@daemon.UUCP> <33700001@trsvax.UUCP> <2923@allegra.UUCP> <542@godot.UUCP>
Organization: AT&T Bell Laboratories, Murray Hill
Lines: 18

Right you are.  I hadn't tried the suggested sequence (sleep(1);alarm(1);)
to see if it really failed to terminate.  When I did try it with the original
sleep code, it terminated just fine.  It looks like the real problem remains
to be found.  In the meantime, here's what I did to honey danber to prevent
uucico from getting into a state where an alarm was pending, but alarms were
masked off.  I replaced each alarm() call with a non-zero argument with the
following macro:

#define ALARM(X) sigsetmask(sigblock(0)&~(1<<(SIGALRM - 1))), alarm(X)

to explicitly unblock SIGALRM before each alarm() call.  That eliminated
hung cico's here, but William Sebok said the same fix did not cure the
problem at astrovax.  Maybe we have just been lucky, or maybe the vanilla
4.2 uucp has additional problems.  In any event, the real question still
remains, how is SIGALRM getting masked off to begin with?  I had hoped
Kirk had discovered the cause, but the search will still have to go on.

John P. Linderman  allegra!jpl