From: <mi...@ca...> - 2003-06-23 16:41:41
|
There is nothing like signals in win32. But there are events, which uses CreateEvent, SetEvent and ResetEvent. An event can also have a name, which makes it possible for one application to send an event to another. It two applications have an event with the same name, a collision occurs. Another common way of sending "signals" to win32 processes is to use window messages. (Which you send with SendMessage or PostMessage). /Anders Lindén ----- Original Message ----- From: "Bill Page" <bil...@sy...> To: <Min...@li...> Sent: Monday, June 23, 2003 6:21 PM Subject: [Mingw-users] sigaction > What is the right way to port an application that uses > sigaction? > > Compiling the following code fragment: > > -------- > > #include "useproto.h" > #include "bsdsignal.h" > > #include <signal.h> > #include "bsdsignal.H1" > > SignalHandlerFunc > #ifdef _NO_PROTO > bsdSignal(sig,action,restartSystemCall) > int sig; > SignalHandlerFunc action; > int restartSystemCall; > #else > bsdSignal(int sig,SignalHandlerFunc action,int restartSystemCall) > #endif > { > struct sigaction in,out; > in.sa_handler = action; > /* handler is reinstalled - calls are restarted if restartSystemCall > */ > #if defined(LINUXplatform) || defined (ALPHAplatform)|| > defined(RIOSplatform) || > defined(SUN4OS5platform) ||defined(SGIplatform) ||defined(HP10platform) > if(restartSystemCall) in.sa_flags = SA_RESTART; > else in.sa_flags = 0; > #elif defined(SUNplatform) > if (restartSystemCall) in.sa_flags = 0; > else in.sa_flags = SA_INTERRUPT; > #elif defined(HP9platform) > in.sa_flags = 0; > #else > in.sa_flags = 0; > #endif > > return (sigaction(sig, &in, &out) ? (SignalHandlerFunc) -1 : > (SignalHandlerFunc) out.sa_handler); > } > > ---------- > > Produces the following error messages: > > C:/msys/1.0/home/axiomgnu/new/int/lib/bsdsignal.c: In function > `bsdSignal': > C:/msys/1.0/home/axiomgnu/new/int/lib/bsdsignal.c:20: storage size of > `in' isn't known > C:/msys/1.0/home/axiomgnu/new/int/lib/bsdsignal.c:20: storage size of > `out' isn't known > > --------- > > In MinGW signal.h does not contain a structure called > sigaction. > > Do I need to re-write this for Windows? > > Regards, > Bill Page. > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: INetU > Attention Web Developers & Consultants: Become An INetU Hosting Partner. > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users |