1.4 Interaction between MLWorks and hqn_lsd

1.4.3 Termination and release of licenses

Once a license has been granted to a running MLWorks process by hqn_lsd, the license remains assigned to that UNIX process until the process terminates.

If MLWorks terminates normally, for instance by calling Shell.exit, the license is immediately and automatically released for re-use.

If MLWorks terminates abnormally, for instance by being sent a kill signal from the shell, the license is not released upon termination. However, within 10 minutes the license server will notice that the MLWorks process has stopped confirming that it holds a license, at which point the license server itself will release the license.

You can use the administration tool hqn_lsa (see Chapter 3) to release a license at any time. If a license belongs to a process that has terminated abnormally, you can use hqn_lsa to release it for re-use. If you use hqn_lsa to release a license that belongs to an active MLWorks process, that process will request a new license from the license server daemon automatically.

If a running MLWorks process is stopped (with Ctrl+Z) the license server may detect that it is no longer active, and release its license. In the normal course of events, the MLWorks process will automatically request a new license from the license server daemon as soon as it becomes active again.

If a running MLWorks process requests a new license (perhaps because it was released externally using hqn_lsa), it requests a new one automatically. If the request for a new license succeeds, MLWorks continues operation without informing the user that it lost its license. If the request for the new license fails, MLWorks prints the usual licensing failure message to the standard error, and also to the podium window if the MLWorks windowing environment is running:

Your license is invalid.
Contact MLWorks customer license support:
   North and South America, Japan:
     mail mlworks-keys@harlequin.com
   UK, Europe, Australasia, Africa, Asia:
     mail mlworks-keys@harlequin.co.uk

After printing the failure message, MLWorks hangs and must be terminated with a kill signal from the shell. MLWorks hangs in this case rather than exiting, because if the user is not present at the time of failure and MLWorks exits, it might not be clear later why the exit occurred.


MLWorks Guide to the License Server - 17 JAN 1997

Generated with Harlequin WebMaker