Protocols icon indicating copy to clipboard operation
Protocols copied to clipboard

Protocols between Process has a race condition.

Open jfdm opened this issue 11 years ago • 0 comments

Playing around with a simple greeter protocol for two communicating processes A & B. Where A is the front-end client process, and B is a back-end process.

I believe there to be a race condition with the underlying message passing. When the first message in the protocol is to be from the 'back-end' the message queue is blocking. Otherwise when the first message in the protocol is from the 'front-end' process all is fine.

Minimal working and failing examples are in the following GIST:

https://gist.github.com/jfdm/ea5d0536cc4183e47e74

The working protocol differs in that the first message is sent by the client process. Both files are self contained. The informal narration for the failing protocol is:

B -> A : "Enter Command:"
A -> B : Command
case Command of
  Greet msg => B -> A : "Hello: " ++ msg
                         loop
  Quit      => B -> A : Goodbye
                         exit

jfdm avatar Jun 05 '14 15:06 jfdm