This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
RE: [b18] Can't interrupt "sleep 30"
- To: "GNU-Win32 at cygnus dot com" <GNU-Win32 at cygnus dot com>, "'Francis Litterio'" <franl at world dot std dot omit-this dot com>
- Subject: RE: [b18] Can't interrupt "sleep 30"
- From: Sergey Okhapkin <sos at prospect dot com dot ru>
- Date: Tue, 13 May 1997 15:37:30 +0400
- Cc: "'Geoffrey Noer'" <noer at cygnus dot com>
- Encoding: 38 TEXT
Francis Litterio wrote:
> Using b18, type
>
> sleep 30
>
> to bash, then type ^C to interrupt it. Nothing happens, and after 30
> seconds elapses, bash prompts again.
Ok, it's my fault :-) While modifying signal support for B18 I forgot about
sleep() and usleep() syscalls. Thank you for this bug report. The functions
sleep() and usleep() in winsup/signal.cc must be the following one:
extern "C"
unsigned int
sleep (unsigned int seconds)
{
syscall_printf ("sleep (%d);\n", seconds);
WaitForSingleObject (u->signal_arrived, seconds * 1000);
syscall_printf ("0 = sleep (%d)\n", seconds);
return 0;
}
extern "C"
unsigned int
usleep (unsigned int useconds)
{
syscall_printf ("usleep (%d)\n", useconds);
WaitForSingleObject (u->signal_arrived, (useconds + 500) / 1000);
syscall_printf ("0 = usleep (%d)\n", useconds);
return 0;
}
--
Sergey Okhapkin
Moscow, Russia
Looking for a job.
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".