Wait on Notification from Multiple Function

Owning Palette: Notifier Operations Functions

Requires: Base Development System

Waits until at least one of the notifiers you specify receives a message.

When one of the notifiers receives a message, this function continues to execute. Use the Send Notification function to send the message. If a notifier reference becomes invalid, such as when another function closes it, this function stops waiting and returns error code 1122. If the notifier does not contain a message, this function waits until the notifier receives a message.

Details  Example

 Add to the block diagram  Find on the palette
notifiers is an array of notifier references. Use the Obtain Notifier function to obtain a notifier reference.
ignore previous indicates whether to ignore messages that LabVIEW sends to the notifier before it calls this function. If TRUE and the notifier contains a message before you call this function, this function waits until the notifier receives another message. If FALSE (default) and the notifier contains a message before you call this function, this function continues to execute.
timeout in ms specifies the time, in milliseconds, that the function waits for the notifier to receive a message. The default is –1, which indicates never to time out.

If the function waits timeout in ms and the notifier does not receive a message, timed out? is TRUE.
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
notifiers out returns an array of the notifier references from which messages were received. The indexes of this array correspond to the indexes of the notifications output array. From the notifiers out array, you can determine which messages came from which notifiers—the first value comes from the first notifier, the second value from the second notifier, and so on. If an error occurs, this array contains references to the notifiers that caused an error.
notifications is an array of the last messages the notifiers receive. This data type changes to match the subtype of notifiers, unless the subtype is an array. If the subtype is an array, the data type becomes a cluster of arrays.
timed out? is TRUE if the notifier does not receive a message before the function times out or if an error occurs.
error out contains error information. This output provides standard error out functionality.

Wait on Notification from Multiple Details

Use the Wait on Notification function for a single notifier reference.

Each unique instance of this function remembers the time stamp of the last message it receives. If this function receives only one message, the function stops remembering which message the time stamp refers to, and the only item filled in the notifiers array is the first element.

If you experience deadlock when you use this function repeatedly with different notifiers, use the Wait on Notification from Multiple with Notifier History function to store time stamps for each individual notifier. This function prevents deadlock.

If ignore previous is FALSE, each instance of the Wait on Notification from Multiple function determines if one or more notifier has a message newer than the time stamp most recently received by this function. If one or more of the notifiers has new messages, all messages are returned.

When ignore previous is TRUE, this function always waits for a new message, even if the message currently in the notifier is one it has never seen before.

This function does not remove the message from the notifier. Although a specific instance of the function returns a message only once, other instances of the function or to the Wait on Notification function repeat the message until you call the Send Notification function with a new message.

Example

Refer to the Wait on Multiple Notifiers VI in the labview\examples\Synchronization\Notifier directory for an example of using the Wait on Notification from Multiple function.

 Open example  Find related examples