Wait for semaphores

Command group Flag affected Reversible Execute on client Platform(s)
Changing data NO YES NO All

Syntax

Wait for semaphores

Description

This command causes all the commands which set semaphores to wait with a lock cursor until the semaphores for the required records are available.

When a library is first selected, Wait for semaphores is automatically selected to ensure compatibility with existing libraries. It causes all the commands which set semaphores to wait with a lock cursor until the semaphore is available then return with the flag set, or to wait until the user cancels with a Ctrl-Break/Ctrl-C/Cmnd-period then return with a flag clear.

Semaphores

Semaphores are internal flags or indicators set in the data file to show other users that the record has been required elsewhere for editing. Semaphores are set only when running in multi-user mode, that is, the data file is located on a networked server, a Mac volume or on a DOS machine on which SHARE has been run.

The commands which set semaphores are Prepare for editPrepare for insertUpdate files and Delete, and also, if pfu mode is on, Single file findLoad connected recordsNextPrevious and Set read/write files. Auto finds on windows always wait for semaphores.

The Edit/Insert commands from the Commands menu always wait for a semaphore as do automatic find entry fields.

Example

Wait for semaphores
Prepare for edit ;; waits for record if locked by another user
Enter data
Do not wait for semaphores
If flag true
  Update files
  If flag false
    OK message {File was locked, update failed}
  End If
End If