signals while reading
Chris Faylor
cgf@cygnus.com
Wed Oct 11 20:30:00 GMT 2000
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.
cgf
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
More information about the Cygwin
mailing list