blob: bdff6acbe3f950d630ce71faf075ef55da576f63 (
plain) (
tree)
|
|
init:
Select a filename.
Create XSI semaphore array {S = 0, W = 0, X = 1 and Q = 0}
with random key. Store the semaphore array's key in
decimal form on the first line in the selected file.
Create XSI shared memory, with an allocation of 2048 bytes,
with a random key. Store the shared memory's key in
decimal form on the second line in the selected file.
broadcast:
with P(X):
Z(W)
Write NUL-terminate message to shared memory
Q := 0
Z(S)
listen:
V(S) with undo on exit
forever:
V(Q)
Z(Q)
Read NUL-terminated message from shared memory
if breaking:
P(S) with undo on exit
break
with V(W):
with P(S):
Z(S)
|