signals while reading

Hiroshi Inoue Inoue@tpf.co.jp
Sun Oct 15 06:53:00 GMT 2000


> -----Original Message-----
> From: Chris Faylor
> 
> On Thu, Oct 12, 2000 at 12:28:43PM +0900, Hiroshi Inoue wrote:
> >Hi all,
> >
> >I tried the following program on my machine.
> >( CYGWIN_NT-5.0 1.1.4(0.26/3/2) 2000-08-03 20:53 win2k)
> >
> >#include        <stdio.h>
> >#include        <signal.h>
> >#include        <errno.h>
> >
> >void sigfunc(int sig)
> >{
> >        fprintf(stderr, "received signal=%d\n", sig);
> >        exit(1);
> >}
> >main()
> >{
> >        char    rdt[8];
> >
> >        signal(SIGTERM, sigfunc);
> >        while (1)
> >        {
> >                fprintf(stderr,"read wait -> ");
> >                read(0, rdt, 1);
> >                fprintf(stderr,"read return %d\n", errno);
> >                if (errno != EINTR)
> >                        break;
> >        }
> >}
> >
> >When I kill this program, I see the following.
> >
> >read wait -> read return 4
> >read wait -> read return 4
> >read wait -> read return 4
> >........
> >(inifinite loop)
> >
> >Is this a expected behavior ?
> >Note that sigfunc() isn't called.
> 
> It's a bug in 1.1.4.
>

Already fixed ?
Seems it still exists in current snapshot.

Regards.
Hiroshi Inoue

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list