Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Create Semaphore

LabVIEW 8.5 Help
August 2007

NI Part Number:
371361D-01

»View Product Info

Looks up an existing semaphore or creates a new semaphore and returns a refnum.

You can use this refnum when calling other Semaphore VIs.

Details  Example

name contains the name of the semaphore that you are looking up or creating. The default is an empty string to create an unnamed semaphore. LabVIEW does not automatically release named semaphores.
, if Application.vi has a subVI Subtask.vi, any named semaphores created by Subtask.vi are cleaned up when Application.vi stops executing. You can use the same named semaphore in any VI—even those not in the hierarchy of Application.vi—but the semaphore ceases to exist when the Application.vi hierarchy shuts down.
size specifies how many tasks can acquire the semaphore at the same time. If a named semaphore already exists, wiring a value to this parameter does not resize the semaphore. The default is 1.
return existing specifies whether you want to create a new semaphore if one with that name does not exist. The default is FALSE, specifying that a semaphore should be created if it does not exist.
error in describes error conditions that occur before this VI or function runs. The default is no error. If an error occurred before this VI or function runs, the VI or function passes the error in value to error out. This VI or function runs normally only if no error occurred before this VI or function runs. If an error occurs while this VI or function runs, it runs normally and sets its own error status in error out. Use the Simple Error Handler or General Error Handler VIs to display the description of the error code. Use error in and error out to check errors and to specify execution order by wiring error out from one node to error in of the next node.
status is TRUE (X) if an error occurred before this VI or function ran or FALSE (checkmark) to indicate a warning or that no error occurred before this VI or function ran. The default is FALSE.
code is the error or warning code. The default is 0. If status is TRUE, code is a nonzero error code. If status is FALSE, code is 0 or a warning code.
source specifies the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning. The default is an empty string.
semaphore is a reference to an existing or newly created semaphore.
created new is TRUE if the VI created a new semaphore.
error out contains error information. If error in indicates that an error occurred before this VI or function ran, error out contains the same error information. Otherwise, it describes the error status that this VI or function produces. Right-click the error out front panel indicator and select Explain Error from the shortcut menu for more information about the error.
status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
code is the error or warning code. If status is TRUE, code is a nonzero error code. If status is FALSE, code is 0 or a warning code.
source describes the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning.

Create Semaphore Details

Note  You cannot use semaphores to communicate between LabVIEW application instances. If you create a semaphore reference in one application instance, you cannot use that semaphore reference in another application instance.

Example

Refer to the Semaphore with SubVIs VI in the labview\examples\general\semaphore.llb for an example of using the Create Semaphore VI.


Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit