This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
RE: signals while reading
- To: <cgf at cygnus dot com>
- Subject: RE: signals while reading
- From: "Hiroshi Inoue" <Inoue at tpf dot co dot jp>
- Date: Sun, 15 Oct 2000 22:55:11 +0900
- Cc: <cygwin at sources dot redhat dot com>
> -----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