Mail Archives: cygwin/2004/05/26/10:22:00
Folks'es,
i'm using cygwin 1.5.9-1 on Windows NT 4SP6 and W2K, both of which run
on top of VMware Workstation 4.5.1 (host system is W2K on a Dell
Precision 340).
i have a problem with a database application server (a port from Unix
using cygwin): if i shut down the application from a bash/ksh via CTRL+C
the application receives the signal but, instead of performing its
shutdown procedure, the process dissappears immediately, leaving my DB
in an inconsitent state. if i do the same from a DOS cmd, the server
process shuts down ok.
i see the same behaviour if i shutdown the process via a 'control
panel', which sends the server process a SIGTERM, in 2 out of 3 cases
the process stops immediately without performing its proper shutdown.
however, if i run the application incl cygwin on a native system,
everything works just fine.
so my question is, what is the connection/difference between VMware and
Cygwin signal handling?
thomas
i have written a little test program which demonstrates the behaviour.
if i run it in a ksh and hit CRTL+C, the process receives the signal and
terminates. if i run it in DOS cmd, the process receives the signal,
does its count down and then terminates:
#include "stdafx.h"
#include "signal.h"
#include <windows.h>
#include <stdio.h>
void goHome(int s)
{
printf("Received signal %d\n", s);
for (int i = 10; i > 0; i--) {
printf("Need %2d more seconds to terminate\r", i);
Sleep(1000L);
}
exit(0);
}
int
main(int argc, char *argv[])
{
signal(SIGINT, goHome);
printf("Hit Ctrl+C to terminate me\n");
while (1) {
Sleep(1000);
}
return 0;
}
--
It has never been easier to help someone who suffers from hunger,
and use the web for a good purpose: http://www.thehungersite.com/
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -