[fpc-pascal] ExitProc

Michael Van Canneyt michael at freepascal.org
Thu Jun 29 14:57:36 CEST 2006



On Thu, 29 Jun 2006, Jonas Maebe wrote:

>
> On 29 jun 2006, at 13:51, Carsten Bager wrote:
>
>> If I compile and run my example program and then press Crtl+C the
>> program terminates. I would expect that it terminate by calling
>> "CloseServer" procedure, but it dos not. If the program terminates
>> normally (time runs out) the "CloseServer" procedure is called as
>> expected.
>> 
>> Have I misunderstood something about the ExitProc.
>
> ExitProc is only called if your program exits via the RTL. This is the case 
> when the program exits normally, or when a run time error or unhandled 
> exception occurs.
>
> ctrl-c is not caught by the FPC RTL. This means it is handled by the 
> operating system, and the default action of the operating system is to simply 
> terminate the process. The FPC RTL therefore does not get any chance to call 
> your exitproc.
>
> I don't know whether there's a platform-independent way in the RTL to turn on 
> the catching of ctrl-c (and converting it to an exception or run time error).

Not that I am aware of...

Michael.



More information about the fpc-pascal mailing list