> > I added some code to test if SIGALRM is blocked
> > just before the read() that never ends.  The signal
> > is always blocked!  How is that possible?  I can't
> > find anything in the source that explicitly blocks
> > it.  This is typically what it does before a
> transfer:
> > 
> >         (void) signal(SIGALRM,
> draconian_alarm_signal);
> >         alarm(timeout_data);
> 
> Could it be that the script that launched this
> program had blocked the
> signal itself?

That would be the inetd restarter.  I had the same
thought, but when I first connected with an FTP
client, the signal was not blocked:

9133:   /usr/sbin/in.ftpd -a
HUP     caught  randomsig       RESETHAND,NODEFER
...
PIPE    caught  lostconn        RESETHAND,NODEFER
ALRM    caught  toolong         RESETHAND,NODEFER
TERM    default
USR1    caught  randomsig       RESETHAND,NODEFER

I'm still looking for the place where it gets blocked.
-- 
This message posted from opensolaris.org
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to