Method MasterObject()->runtime_warning()

class MasterObject

Method runtime_warning

void runtime_warning(string subsystem, string msg, mixed ... data)

Description

Called by the Pike runtime, and by parts of the Pike standard library, to warn about data inconsistencies. The default master object implements this method and writes most warnings to stderr, with special handling for some messages as noted below.

Parameter subsystem

Runtime subsystem where the warning was generated. Currently the following subsystems may call this function:

"gc"

The garbage collector.

"runtime"

The runtime itself.

"concurrent"

Concurrent.Future and Concurrent.Promise.

Parameter msg

Warning message.

Parameter data

Optional extra data that further describes the warning specified by msg. The number and meaning of these values depend on subsystem and msg.

Currently the following subsystems and messages are defined:

subsystemmessagedata
"gc""bad_cycle"array cycle

A cycle where the destruction order isn't deterministic was detected by the garbage collector.

cycle is an array of the elements in the cycle.

Note: as of this writing this message is not actually generated -- both the C code that would send it and the default master's handling of it have been disabled since before the __weak__ variable modifier existed, and have not been revisited since it was added.

"runtime""unsupported_compat"Version requested_version

Compatibility with a version older than the oldest supported version was requested.

requested_version is the requested version.

"concurrent""Ignored return value."mixed value, function callback [, object future]

A callback registered with Concurrent.Future or Concurrent.Promise returned a value that was silently discarded.

value is the returned value and callback is the callback that returned it. The optional future is the Concurrent.Future the callback was attached to.


Method runtime_warning

void runtime_warning(string where, string what, mixed ... args)

Description

Called for every runtime warning. The first argument identifies where the warning comes from, the second identifies the specific message, and the rest depends on that. See code below for currently implemented warnings.