Concurrency (was: Re: [GUI] Re: events & callbacks)

Daan Leijen daanleijen@xs4all.nl
Wed, 12 Mar 2003 09:09:37 +0100


On Wed, 12 Mar 2003 00:14:54 +0100, Wolfgang Thaller <wolfgang.thaller@gmx.net> wrote:

> Daan Leijen wrote:
>>
>> the eventloop will immediately wait for the next event. As this is a C call,
>> the haskell runtime system will not run any haskell threads.
>
> That is not guaranteed, it is not part of the FFI specification.

I know. Just wanted to explain why the "byedemo" examples are not buggy,
which eventually lead to this lengthy explanation of how most implementations work.

> Therefore I think that we should either
> a) specify that the CGA has to provide all the necessary synchronization to ensure proper operation in the presence of concurrency (this might be done using mvars).
> b) specify that the CGA may only be used when proper serialization is ensured by the user.
>
> I'm strongly in favour of a),

I am too.

Cheers,
  Daan.