#define WIFSTOPPED(x) (((int)((x) & 0xFF)==0x7F) && ((int)(((x)>>8)&0xFF)!=0)) #define WSTOPSIG(x) ((int)(((x)>>8) & 0xFF)) void HandleSignal( LONG signo ) { WORD pid; WORD childsignal; ULONG r; if( signo == SIGCHLD ) { r = Pwait3( 0x2, 0L ); if( WIFSTOPPED( r ) ) { pid = r >> 16; childsignal = WSTOPSIG( r ); } } }