From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5a05d88755a62a0e X-Google-Attributes: gid103376,public From: cowan@east.alsys.com (Ken Cowan) Subject: Re: Asynchronous Transfer of Control Date: 1996/10/18 Message-ID: #1/1 X-Deja-AN: 190509187 sender: news@thomsoft.com references: <32656457.1A76@csehp1.mdc.com> organization: Thomson Software Products newsgroups: comp.lang.ada Date: 1996-10-18T00:00:00+00:00 List-Id: In article , bobduff@world.std.com (Robert A Duff) wrote: >On Windows 95, the only way I can see to implement preemptive abort/ATC >is for the compiler to insert polling code all over the program (maybe >at every call, and at every backward jump?). If true, this is horrible >-- operating systems of decades ago had proper support for this sort of >thing, but the latest and greatest doesn't. Does any compiler do this? >Is there any better way to implement it on windows 95? There's some >sort of kill-thread operation, but that would skip finalization. I >think the situation is the same for OS/2. What about windows/NT? > >- Bob Give ObjectAda for Windows a try. It does preemptive abort without polling. It's implemented by suspending the thread, then resuming it at some run-down code. For ATC, the run-down code longjmp's back to the correct place. For an abort, it finalizes everything and terminates the thread. KC --------------------------------------------------------- Ken Cowan Thomson Software Products cowan@east.thomsoft.com 200 Wheeler Rd. phone: (617) 221-7323 Burlington, MA 01803 fax: (617) 220-6882