What is a semaphore and a semaphore timeout?
In a multitasking environment there is often a requirement to synchronize the execution of various tasks or ensure one process has been completed before another begins. This requirement is facilitated by the use of a software switch known as a Semaphore or a Flag. The function of this is to work in much the same way a railway signal would; only allowing one train on the track at a time. A semaphore timeout is where the railway signal has been set in one state too long, maybe because the train has broken down. Example of a semaphore timeout in Notes/Domino An example of this in Notes/Domino is when the indexer needs to completely rebuild an index, it locks a semaphore so that other tasks cannot use the index until it is rebuilt. If a user task now tries to open that index while it is being rebuilt, it will have to wait for the indexer to finish the rebuild and then unlock the semaphore. As a result, the user task is stuck until that semaphore is unlocked. While it is stuck waiting for t