


The acushare utility program is an important component of any UNIX system that is executing the ACUCOBOL-GT runtime system. It monitors the number of users of Acucorp products. A "user" is defined as a unique terminal name.
acushare keeps a list of active users (terminals) of the product and ensures that the number of users who are executing the runtime simultaneously does not exceed the limits of the site's network license.
acushare keeps track of users for each product's distinct serial number. For example, if you have a runtime for 10 users, and a second runtime for 20 users, then a total of 30 users could be executing applications on the system simultaneously, if both runtimes are executing. This ensures that distinct software applications are monitored separately. License file management for UNIX systems includes these four steps:
Starting acushare
When the product first starts up, it checks to make sure that acushare is running on the system. If it's not currently running, the product attempts to start it. acushare must be located in the product's search path in order for the product to find it.
If the product cannot start acushare, it exits with this message:
Shared memory and license manager (acushare) is not running
For details about starting acushare, see section 4.2.3 below.
Registering a terminal name
If acushare is running on the system, the product attempts to register itself with acushare. If the user limit has not already been reached, the registration occurs. acushare places the user's (terminal) name on the list of active product users (unless it's already there).
If the user limit specified in the site's license file would be exceeded by the addition of this user, the product checks the product's configuration file (and then checks the environment), to determine if it should retry the registration process in a few seconds.
A runtime variable can be used to specify the number of retries desired when you are executing the runtime. If this variable has been set to a positive integer value, the runtime waits "n" seconds and tries again to register itself. The value "n" (the number of seconds to wait between retries) is set in the variable A_RETRY_DELAY. If no retries are desired, or all retries have been performed and the limit is still exceeded, the product exits with a message.
Restarting acushare
Each active product checks periodically to determine if acushare is still running. If the product detects that acushare has stopped and has not been restarted, it tries to restart it. If unsuccessful, it issues this warning message:
License manager (acushare) is not running
This warning message appears at the line specified in the runtime configuration variable SCREEN ERROR-LINE (or, if that's not set, at the bottom of the screen).
If acushare has not been restarted by the time the product makes another periodic check, the product exits.
Ending a session
When the user ends a session on the terminal, the product receives a signal to terminate. If the product was executed with "-h" or "-sb" it will ignore the signal and keep running. When a product is executing without a controlling terminal, acushare displays the terminal name as "(none)". The terminal is removed from acushare's list of active users only when the product terminates.