$DaemonMasterNumber
Get user number of master thread
Most Sirius $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $DaemonMasterNumber function is MasterNumber (Daemon property). The OO APIs emphasize the use of the Daemon methods; users are strongly urged to use the new Daemon API instead of the old $functions.
This function can be used to get the user number of an sdaemon's master thread.
The $DaemonMasterNumber function accepts no arguments. The $DaemonMasterNumber function returns the same value as the $DaemonParentNumber function $DaemonParentNumber, except in the case where the parent thread, itself, has a parent. In such a case, the $DaemonMasterNumber method follows the chain of parents to the highest level, that is, to the parent that does not, itself, have a parent.
If the thread issuing $DaemonMasterNumber is not an sdaemon, or is an sdaemon but is not performing work for another thread via a Daemon object or a $COMMxx function, or is an asynchronous daemon, the $DaemonMasterNumber function returns a -1 value.
Syntax
<section begin="syntax" />%USERN = $DaemonMasterNumber <section end="syntax" />
%USERN is set to master's user number, or to -1 if not called from a daemon
The following code audits a thread's master user number:
audit 'My masters user number is ' $DaemonMasterNumber
The $DaemonMasterNumber method has a Daemon class method equivalent: MasterNumber. The $function and method can be used interchangeably, whether the daemon was created with a $COMMxx function or a Daemon object.
This $function is new in Version 6.8 of the Sirius Mods.