Owning Palette: Semaphore VIs
Requires: Base Development System
Obtains a reference to an existing semaphore or creates a new semaphore and returns a reference to that semaphore.
Use this VI in conjunction with the other Semaphore VIs to implement a semaphore in LabVIEW.
Add to the block diagram | Find on the palette |
name contains the name of the semaphore you want to look up or create. The default is an empty string to create an unnamed semaphore. If you wire name, LabVIEW searches for an existing semaphore with the same name and returns a unique reference to the existing semaphore. If a semaphore with the same name does not already exist and create if not found is TRUE, LabVIEW creates a new, named semaphore and returns a unique reference to that semaphore. | |
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. size must be greater than or equal to 1. The default is 1. | |
create if not found specifies whether you want to create a new semaphore if one with that name does not exist. The default is TRUE, which specifies that LabVIEW creates a semaphore if the semaphore does not exist. If create if not found is FALSE and LabVIEW cannot find a semaphore with the name you specify, LabVIEW returns error code 1534. | |
error in describes error conditions that occur before this node runs. This input provides standard error in functionality. | |
semaphore is a reference to an existing or newly created semaphore. If you use this VI to obtain multiple references to the same named semaphore, each reference number is unique. | |
created new is TRUE if the VI created a new semaphore. | |
error out contains error information. This output provides standard error out functionality. |
You cannot use semaphores to communicate between LabVIEW application instances. If you obtain a reference to a semaphore in one application instance, you cannot use that semaphore reference in another application instance.
Refer to the Simple Semaphore VI in the labview\examples\Synchronization\Semaphore directory for an example of using the Obtain Semaphore Reference VI.