[gambit-list] web-repl.scm / concurrent read/writes

Marc Feeley feeley at iro.umontreal.ca
Mon Jun 22 09:36:26 EDT 2009


On 21-Jun-09, at 11:14 PM, lowly coder wrote:

> Looking at the web-repl.scm file in gambc/examples, I often see  
> situations of:
>
> lock mutex
> write single char
> flush output
> unlock mutex
>
> Why is this necessary? According to the gambit documentation, ports  
> have to be written to handle concurrent read/writes themselves.

The locking is not needed in web-repl.scm .  It is there because the  
code is left over from an implementation of the telnet protocol where  
I believe exclusive access to the terminal was needed.

Note that the Gambit specs say that *individual calls* to write-char  
need no locking.  But if you want a sequence of calls to write-char to  
appear uninterrupted, then you need a lock.

Marc




More information about the Gambit-list mailing list