If
t
, then after the application has opened at least one CAPI window, whenever the application is waiting for input, a routine is run to check whether any of its CAPI windows are still open. If there are no open windows, the application exits.
On Microsoft Windows, if the application is an automation server, the checking routine also checks the server. If the application uses
com:automation-server-top-loop
(maybe indirectly via
com:automation-server-main
), the checking routine does not cause exit until
com:automation-server-top-loop
exits. Otherwise the checking routine does not cause exit as long as the server is used. After the server is not used, the exit is further delayed by the
exit-delay
(default 5 second, see documentation for
com:automation-server-exit-delay
).
The function
set-quit-when-no-windows
can be used to turn checking on and off dynamically at run time regardless of the value of the
:quit-when-no-windows
keyword.
Note: a multiprocessing LispWorks executable will stop multiprocessing when there is no process other than the Idle Process. So if your application simply displays a window, which is closed, then multiprocessing will stop. This is independent of quit-when-no-windows .
LispWorks Delivery User Guide - 13 Dec 2011