From: Lutz Donnerhacke <lutz@iks-jena.de>
Subject: Re: terminate applications
Date: Tue, 22 Jul 2003 12:59:33 +0000 (UTC)
Date: 2003-07-22T12:59:33+00:00 [thread overview]
Message-ID: <slrnbhqd9i.oa.lutz@taranis.iks-jena.de> (raw)
In-Reply-To: Pine.LNX.4.44.0307221421270.25598-100000@localhost.localdomain
* Arnaud Charlet wrote:
>> I could probably go search through the Win32api and find a "Kill this
>> process and I really, really mean it" system call, but a) it would be
>
> If that's what you're looking for (and it seems indeed pretty clear from
> your previous messages), then I'd suggest you ignore the other messages on
> this thread, and you do the same as with any other programming language:
>
> procedure Halt;
> pragma Import (C, Halt, "exit");
>
> ...
> Halt;
>
> and be done with it.
That will start a clean shutdown of the libc. You don't won't that.
with Kernel.Processes;
[...]
procedure Halt renames Kernel.Processes.sysexit;
[...]
Halt;
This is the right way! Read the spec:
-- NAME
-- exit - terminate the current process
-- SYNOPSIS
-- void _exit(int status);
procedure sysexit (return_code : exit_code_t);
--# global in out Kernel.State;
--# derives Kernel.State from Kernel.State, return_code;
pragma Inline_Always (sysexit);
and the implementation:
separate (Kernel.Processes)
procedure sysexit(return_code : exit_code_t) is
UnusedRes : Linux_i86.syscall_result;
begin
Linux_i86.syscall1(Linux_i86.sys_exit, long(return_code), UnusedRes); --! Assignment to UnusedRes is ineffective.
end sysexit; --! The variable UnusedRes is neither referenced nor exported.
and the exception freedom proof:
procedure_sysexit_1.
H1: true.
H2: return_code >= exit_code_t__first.
H3: return_code <= exit_code_t__last.
->
C1: return_code >= kernel__linux_i86__long__first.
C2: return_code <= kernel__linux_i86__long__last.
C3: kernel__linux_i86__sys_exit >= kernel__linux_i86__syscall_number__first.
C4: kernel__linux_i86__sys_exit <= kernel__linux_i86__syscall_number__last.
C5: return_code >= long__first.
C6: return_code <= long__last.
*** Rule substitutions phase 1
*** Applied substitution rule sysexit_rules(4)
*** Applied substitution rule sysexit_rules(5)
*** Applied substitution rule sysexit_rules(3)
*** Applied substitution rule sysexit_rules(9)
*** Applied substitution rule sysexit_rules(10)
*** Applied substitution rule sysexit_rules(14)
*** Applied substitution rule sysexit_rules(15)
*** PROVED C3
*** PROVED C4
*** Rule substitutions phase 2
*** Applied substitution rule sysexit_rules(19)
*** Applied substitution rule sysexit_rules(20)
*** Standardise hypotheses
*** Standardise conclusions
*** PROVED C1
*** PROVED C2
*** PROVED C5
*** PROVED C6
*** Contradiction hunt
*** Proved all conclusions - VC eliminated
*** Expression reduction
==================================================
For path(s) from start to finish:
procedure_sysexit_2.
*** true . /* trivially true VC removed by Examiner */
*** PROVED C1
*** Proved all conclusions - VC eliminated
Automatic simplification completed.
And don't do this with C!
next prev parent reply other threads:[~2003-07-22 12:59 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-18 9:36 terminate applications christoph.grein
2003-07-18 10:54 ` Jeffrey Creem
2003-07-18 11:51 ` Marin David Condic
2003-07-18 13:26 ` Nick Roberts
2003-07-18 15:18 ` Jeffrey Creem
2003-07-19 15:44 ` Marin David Condic
2003-07-20 2:03 ` Robert I. Eachus
2003-07-20 11:04 ` Marin David Condic
2003-07-20 17:53 ` Robert I. Eachus
2003-07-21 12:02 ` Marin David Condic
2003-07-21 20:31 ` Robert I. Eachus
2003-07-22 12:11 ` Marin David Condic
2003-07-22 12:26 ` Arnaud Charlet
2003-07-22 12:36 ` Marin David Condic
2003-07-22 13:23 ` Arnaud Charlet
2003-07-22 23:23 ` Marin David Condic
2003-07-22 23:46 ` Samuel Tardieu
2003-07-23 12:22 ` Marin David Condic
2003-07-23 22:17 ` Randy Brukardt
2003-07-24 1:47 ` Hyman Rosen
2003-07-24 3:36 ` tmoran
2003-07-24 3:44 ` Hyman Rosen
2003-07-24 8:02 ` Samuel Tardieu
2003-07-24 19:54 ` Randy Brukardt
2003-07-24 7:45 ` Dmitry A. Kazakov
2003-07-24 14:54 ` Warren W. Gay VE3WWG
2003-07-24 15:46 ` Dmitry A. Kazakov
2003-07-26 2:58 ` Warren W. Gay VE3WWG
2003-07-28 8:17 ` Dmitry A. Kazakov
2003-07-28 21:08 ` Warren W. Gay VE3WWG
2003-07-29 10:42 ` Marin David Condic
2003-07-29 13:47 ` Hyman Rosen
2003-07-29 17:04 ` Warren W. Gay VE3WWG
2003-07-24 12:01 ` Marin David Condic
2003-07-24 20:12 ` Randy Brukardt
2003-07-24 23:11 ` Robert I. Eachus
2003-07-26 12:52 ` Marin David Condic
2003-07-26 3:28 ` Warren W. Gay VE3WWG
2003-07-24 11:51 ` Marin David Condic
2003-07-24 20:32 ` Randy Brukardt
2003-07-26 3:16 ` Warren W. Gay VE3WWG
2003-07-26 13:16 ` Marin David Condic
2003-07-26 15:23 ` Nick Roberts
2003-07-26 15:48 ` Warren W. Gay VE3WWG
2003-07-27 11:36 ` Marin David Condic
2003-07-26 19:52 ` rleif
2003-07-26 13:01 ` Marin David Condic
2003-07-24 14:46 ` Warren W. Gay VE3WWG
2003-07-24 18:50 ` tmoran
2003-07-26 13:21 ` Marin David Condic
2003-07-23 4:02 ` Robert I. Eachus
2003-07-23 12:28 ` Marin David Condic
2003-07-24 16:06 ` Robert I. Eachus
2003-07-26 13:33 ` Larry Kilgallen
[not found] ` <Pine.LNX.4.44.0307221518190.26977-10000Organization: LJK Software <$TwrUBtoh25l@eisner.encompasserve.org>
2003-07-26 15:07 ` Warren W. Gay VE3WWG
2003-07-27 11:43 ` Marin David Condic
2003-07-26 17:27 ` Larry Kilgallen
[not found] ` <Pine.LNX.4.44.0307221518190.26977-10000Organization: LJK Software <etldVqgp8sE1@eisner.encompasserve.org>
2003-07-26 20:18 ` Warren W. Gay VE3WWG
2003-07-26 20:24 ` Larry Kilgallen
[not found] ` <Pine.LNX.4.44.0307221518190.26977-10000Organization: LJK Software <q5jLYypXp6Yg@eisner.encompasserve.org>
2003-07-27 21:52 ` Warren W. Gay VE3WWG
2003-07-28 2:45 ` Larry Kilgallen
2003-08-01 17:00 ` Warren W. Gay VE3WWG
2003-08-01 17:56 ` Larry Kilgallen
2003-08-01 18:17 ` Warren W. Gay VE3WWG
2003-08-01 18:48 ` Larry Kilgallen
2003-07-22 12:59 ` Lutz Donnerhacke [this message]
2003-07-22 5:16 ` Randy Brukardt
2003-07-22 12:02 ` Marin David Condic
2003-07-22 14:45 ` Nick Roberts
2003-07-23 1:08 ` Dave Thompson
-- strict thread matches above, loose matches on Subject: below --
2003-07-17 10:39 Riccardo
2003-07-17 19:54 ` Nick Roberts
2003-07-17 20:55 ` Mark A. Biggar
2003-07-17 22:44 ` Nick Roberts
2003-07-18 3:55 ` sk
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox