ContentsIndexPreviousNext

Runtime Error Handling

The runtime system easily handles errors relating to shared code.

If the runtime cannot use shared code for some reason, the program is loaded into conventional memory and execution continues.

If acushare stops running or is stopped while networked runtime processes are active, the runtime issues a warning message, to alert the user to restart acushare. If the runtime later detects that acushare has not been restarted, it exits.

If you have the runtime's warning messages enabled, then certain errors cause a warning message to be printed. These messages include:

"Shared memory and license manager (acushare) is not running"

This indicates either: (1) code sharing has been requested (with the SHARED_CODE configuration entry), but cannot be implemented because the acushare memory manager is not currently running, or (2) a multiple-user license is in effect, and a runtime process cannot register itself with acushare because acushare is not running. The runtime process will exit.

"Error sending message to acushare"

For shared memory, execution will normally continue. If you kill acushare after some processes have attached to shared memory, those processes will continue to use the shared memory but new processes will use conventional memory instead.

Important: If there are no shared memory identifiers or message queue identifiers available, acushare will abort and print one of these error messages:

"acushare: can't create shared memory"

"acushare: can't create message queue"

These messages indicate that you do not have enough of the proper resource (either shared memory or message queues) configured in your system. Either your UNIX kernel does not have the resource configured, all of the resource is in use by other programs, or the resource may be configured incorrectly. In either case, you should regenerate your UNIX kernel for more shared memory or message queues. Because network license management requires shared memory, you must be able to execute acushare to qualify for a multiple-user license.