Please enable JavaScript to view this site.

A-Shell Development History

New optional parameter ixcount returns the count of A-Shell instances, including the current one, which are running on the current machine. Added primarily for the benefit of ASHUPD (to make sure there are no other instances of A-Shell running that would interfere with an update), it might also be useful to applications attempting to monitor usage for the same reasons they are already using USRCNT.SBR.

xcall USRCNT, pcount {,lcount {,mcount {,ixcount}}}

Where IXCOUNT (F or I) returns the executable instance count, including the current instance. -1 indicates some kind of error (like an inability to execute the ps command under UNIX.) 0 would indicate a different kind of error (i.e. that the current instance is detecting neither itself, nor any other error while scanning the process or window list.)

For Windows, this is a count of windows sharing the A-Shell main window class (MIAMEWClass). Note this would include A-Shell/Windows and ATE, which could involve more than one actual ASHW32.EXE executable. Note that in a peer-to-peer environment, one peer running this function would not see the other peers that may be sharing the same copy of ASHW32.EXE. (In this case, you should probably use SYSTAT as well to check for the possibility of other instances of A-Shell which share the ASHW32.EXE disk copy, but which are in different memory spaces or different workstations.)

For UNIX, it uses ps to check for processes whose launch command references the current executable (which isn't necessarily named "ashell").

In either case if the IXCOUNT value is greater than the LCOUNT (logical instance) value, that implies that there are instances of A-Shell running that aren't sharing the same JOBTBL.SYS.