From b612067dc7e156cf4e0bc8d0ffd9e9cc4ba542eb Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Mon, 27 Apr 2015 01:02:03 +0200 Subject: improve error handling + patch possible race condition, abi and protocl breakage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- doc/protocol | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'doc') diff --git a/doc/protocol b/doc/protocol index bdff6ac..def8f6f 100644 --- a/doc/protocol +++ b/doc/protocol @@ -1,33 +1,34 @@ -init: +create: 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 semaphore array {S = 0, W = 0, X = 1, Q = 0 and N = 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. + 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) + with V(N): + 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) + with V(S): + forever: + V(Q) + Z(Q) + Read NUL-terminated message from shared memory + if breaking: + break + with V(W): + with P(S): + Z(S) + Z(N) -- cgit v1.2.3-70-g09d2