From: SMTP%"jturner@pac.sc.ti.com" 25-NOV-1997 21:00:56.52 To: 'ntdev@atria.com'" " CC: "Chen, Mike (Anaheim)" Subj: [ntdev] Send a signal to a process Return-Path: owner-ntdev@atria.com Received: by arisia.gce.com (UCX V4.1-12C, OpenVMS V7.1 VAX); Tue, 25 Nov 1997 20:56:57 -0500 Received: from gw.atria.com (gw.atria.com [192.88.237.2]) by mercury.mv.net (8.8.8/mem-971025) with SMTP id SAA05012 for ; Tue, 25 Nov 1997 18:51:39 -0500 (EST) Received: by gw.atria.com id Tue, 25 Nov 1997 13:26:10 -0500 Received: from jester.ti.com by gw.atria.com id Tue, 25 Nov 1997 13:26:02 -0500 Received: from pac1.pac.sc.ti.com ([157.170.15.44]) by jester.ti.com (8.8.7) with ESMTP id MAA27132; Tue, 25 Nov 1997 12:24:50 -0600 (CST) Received: from jturner (NICHTER-pc.pac.sc.ti.com [157.170.13.113]) by pac1.pac.sc.ti.com (8.7.6/8.7.3) with SMTP id MAA20608; Tue, 25 Nov 1997 12:22:43 -0600 (CST) Message-Id: <3.0.3.32.19971125121623.00994100@pac1.pac.sc.ti.com> X-Sender: jturner@pac1.pac.sc.ti.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.3 (32) Date: Tue, 25 Nov 1997 12:16:23 -0600 To: 'ntdev@atria.com'" " From: Joe Turner Subject: [ntdev] Send a signal to a process Cc: "Chen, Mike (Anaheim)" Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-ntdev@atria.com Precedence: bulk -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Ok, now that the subject has been clarified, maybe I can finally offer some assistance. At the risk of sounding redundant, let me summarize what is necessary to solve Mike's problem, and the problem as I see it: 1. Mike wants a way to kill a specified process, *and* execute a custom signal handler. He doesn't want to implement a message- driven Win32 scheme. He wants to stay with the asynchronous nature of the signal handler. 2. Simply stated he wants a process independant raise() function. Right? The Win32 raise() is process specific (only within the scope of the executing process). Additionally, only three of the signals are handled under Win32 (SIGILL, SIGSEGV, and SIGTERM are just included for ANSI compatibility). If I'm wrong, somebody correct me here. If you just want to cleanly kill the process, the easiest, quickest and dirtiest way: a. implement a signal handler for one of the three signals that won't be generated by WinNT (SIGILL, SIGEGV, or SIGTERM). b. create a thread that will wait on an event indefinately. When this event becomes signaled, raise() the appropriate signal. NT will then asynchronously run the signal handler. If, on the other hand you want to implement more signals, I would suggest NutCracker, or you'll just have to hack some code... Like having the generic handler read some shared memory to get the "signal" code. But be warned what you can do within the scope of that signal handler is somewhat limited. Also, you might want to think about DDE/DDEML. I hate DDE with a passion, but you might find it useful for your purpose. Good Luck. -----BEGIN PGP SIGNATURE----- Version: PGP for Personal Privacy 5.0 Charset: noconv iQA/AwUBNHsV9uVV5+eIy/0yEQLavACgvFBIVV6/5bGP/GBLCGp0IpL0ICcAoIgP JgloWzFuW+tR4Kp0MZwDcM9d =N+KT -----END PGP SIGNATURE----- Joe N. Turner Texas Instruments http://www.ti.com/ jturner@pac.sc.ti.com 13020 Floyd Road guardian@engineer.com Dallas, TX 80301 http://www.cauce.org/ PGP Fingerprint: D2B6 CFF4 8351 7E85 6CC7 5326 E555 E7E7 88CB FD32 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ To unsubscribe, send email to ntdev-request@atria.com with body UNSUBSCRIBE (the subject is ignored). ]