MasterNumber (Daemon property): Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{Template:Daemon:MasterNumber subtitle}} | {{Template:Daemon:MasterNumber subtitle}} | ||
MasterNumber is a member of the [[Daemon class]] | MasterNumber is a member of the [[Daemon class]] | ||
This shared, ReadOnly method returns the user number of the '''master thread''', the thread that ultimately created and controls the thread from which this method is being invoked. The master thread may also be the '''parent thread''', the immediate creator of the thread from which this method is being invoked. However, if a parent thread also has a parent thread, the master thread is found by following the chain of parents to the ultimate level, that is, to the parent that does not itself have a parent. | This shared, ReadOnly method returns the user number of the '''master thread''', the thread that ultimately created and controls the thread from which this method is being invoked. The master thread may also be the '''parent thread''', the immediate creator of the thread from which this method is being invoked. However, if a parent thread also has a parent thread, the master thread is found by following the chain of parents to the ultimate level, that is, to the parent that does not itself have a parent. | ||
To return the user number of (only) the immediate parent thread, you can use the ParentNumber method (:hdref refid=daempnm.). Where a parent thread exists but has no parent itself, MasterNumber returns the same value as ParentNumber. | To return the user number of (only) the immediate parent thread, you can use the ParentNumber method (:hdref refid=daempnm.). Where a parent thread exists but has no parent itself, MasterNumber returns the same value as ParentNumber. | ||
If the thread issuing the MasterNumber method is not an sdaemon, or is an sdaemon but not working for a Daemon object or a $COMMxx function, or is an independent daemon (started with $commbg or RunIndependently under <var class="product">[[Sirius Mods]]</var> 7.0 or later), the MasterNumber property returns a value of <tt>-1</tt>. | If the thread issuing the MasterNumber method is not an sdaemon, or is an sdaemon but not working for a Daemon object or a $COMMxx function, or is an independent daemon (started with $commbg or RunIndependently under <var class="product">[[Sirius Mods]]</var> 7.0 or later), the MasterNumber property returns a value of <tt>-1</tt>. | ||
MasterNumber, new as of <var class="product">Sirius Mods</var> Version 6.8, takes no arguments and returns a numeric value. | MasterNumber, new as of <var class="product">Sirius Mods</var> Version 6.8, takes no arguments and returns a numeric value. | ||
==Syntax== | ==Syntax== | ||
{{Template:Daemon:MasterNumber syntax}} | {{Template:Daemon:MasterNumber syntax}} | ||
Line 20: | Line 20: | ||
<td>The class name in parentheses denotes a shared method. <var>MasterNumber</var> can also be invoked via a <var>Daemon</var> object variable, which may be null.</td></tr> | <td>The class name in parentheses denotes a shared method. <var>MasterNumber</var> can also be invoked via a <var>Daemon</var> object variable, which may be null.</td></tr> | ||
</table> | </table> | ||
==Usage notes== | ==Usage notes== | ||
<ul> | <ul> | ||
<li>The following code audits a thread's master user number: | <li>The following code audits a thread's master user number: | ||
<li>The MasterNumber method has a $function equivalent: $daemonMasterNumber. The $function and method can be used interchangeably, whether the daemons were created with $COMMxx functions or Daemon objects. That is, the method can also be used with daemons that were created via $COMMxx, and the $function can also be used with daemons that were created via Daemon objects. | <p class="code"><nowiki>audit 'My master''s user number is ' %(daemon):masterNumber | ||
</nowiki></p> | |||
<li>The MasterNumber method has a $function equivalent: $daemonMasterNumber. The $function and method can be used interchangeably, whether the daemons were created with $COMMxx functions or Daemon objects. That is, the method can also be used with daemons that were created via $COMMxx, and the $function can also be used with daemons that were created via Daemon objects. | |||
<li>An asynchronous $COMMBG daemon or an independent daemon start with the RunIndependently method might have a parent thread but never a master thread; master implies control.</ul> | <li>An asynchronous $COMMBG daemon or an independent daemon start with the RunIndependently method might have a parent thread but never a master thread; master implies control.</ul> | ||
==Example== | ==Example== | ||
See the ParentNumber property example in [[ParentNumber (Daemon property)]]. | See the ParentNumber property example in [[ParentNumber (Daemon property)]]. | ||
==See also== | ==See also== | ||
{{Template:Daemon:MasterNumber footer}} | {{Template:Daemon:MasterNumber footer}} |
Revision as of 19:19, 3 March 2011
User number of the master thread (Daemon class)
MasterNumber is a member of the Daemon class
This shared, ReadOnly method returns the user number of the master thread, the thread that ultimately created and controls the thread from which this method is being invoked. The master thread may also be the parent thread, the immediate creator of the thread from which this method is being invoked. However, if a parent thread also has a parent thread, the master thread is found by following the chain of parents to the ultimate level, that is, to the parent that does not itself have a parent.
To return the user number of (only) the immediate parent thread, you can use the ParentNumber method (:hdref refid=daempnm.). Where a parent thread exists but has no parent itself, MasterNumber returns the same value as ParentNumber.
If the thread issuing the MasterNumber method is not an sdaemon, or is an sdaemon but not working for a Daemon object or a $COMMxx function, or is an independent daemon (started with $commbg or RunIndependently under Sirius Mods 7.0 or later), the MasterNumber property returns a value of -1.
MasterNumber, new as of Sirius Mods Version 6.8, takes no arguments and returns a numeric value.
Syntax
%number = %(Daemon):MasterNumber
Syntax terms
%num | A numeric variable to contain the value of the user number of the master thread. |
---|---|
%(Daemon) | The class name in parentheses denotes a shared method. MasterNumber can also be invoked via a Daemon object variable, which may be null. |
Usage notes
- The following code audits a thread's master user number:
audit 'My master''s user number is ' %(daemon):masterNumber
- The MasterNumber method has a $function equivalent: $daemonMasterNumber. The $function and method can be used interchangeably, whether the daemons were created with $COMMxx functions or Daemon objects. That is, the method can also be used with daemons that were created via $COMMxx, and the $function can also be used with daemons that were created via Daemon objects.
- An asynchronous $COMMBG daemon or an independent daemon start with the RunIndependently method might have a parent thread but never a master thread; master implies control.
Example
See the ParentNumber property example in ParentNumber (Daemon property).
See also
- The UserNumber (Daemon property) returns the user number of the thread associated with the daemon method object.