[fpc-pascal] ExitProc

Jonas Maebe jonas.maebe at elis.ugent.be
Thu Jun 29 14:06:13 CEST 2006


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).


Jonas



More information about the fpc-pascal mailing list