manlio_perillo:
> Hi.
> 
> I have a question about concurrent Haskell in GHC.
> 
> Suppose I want to write a native pure Haskell PostgreSQL client.
> I have done this for Python (using Twisted):
> http://hg.mperillo.ath.cx/twisted/pglib/
> 
> and I would like to do this in Haskell, as an exercise.
> 
> The main problem is with multiple concurrent queries to the same 
> connection, from multiple threads.
> 
> PostgreSQL supports multiple requests but it's better to execute only 
> one request at a time:
> http://www.postgresql.org/docs/8.3/interactive/protocol-flow.html#AEN73647
> 
> In the Twisted version I queue all the requests, and every time a 
> request completes I call the callback associated with the request and 
> execute the next available request.

I'd queue  or sychronise all threads requesting the underlying
non-thread safe resource by using either STM transactions, or an MVar.

-- Don
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to