If you have a concurrent user system running with 1 license, then the automated detection of a machine that hangs does not work. The user is only removed if the same user logs in again.
We recommend implementing the following workflow with a license for 1 concurrent user:
If Error 32 (no free license) -> Check Totallicenses
If Totallicenses=1 (one user license)
Delete all users in the license file with RemoveAllItems
Wait to check if the user is alive
•CheckInterval (retrieve the time in seconds a user should respond - heartbeat) - with a one user system this would be 30 seconds
•Wait for this interval x 2
•Retry the ValidateEx command
If you still get error code 32, then the other user is a live user and no license is available.
If you get status error code = 0 then your user has got the new license