@Hlaaftana Thanks. That was rather "obscure"; I wouldn't have thought there 
were two versions of createThread(). Unfortunately, I changed the code as you 
suggested, and it does not make the crash go away.

I think there is a single example of calling runForever() in the documentation. 
It is just called at the end of a module. If this is the only correct way to 
use it, it would be good to document this, as it could also just be 
"incidental" in this example.

But the bigger question is, what if the whole "async" thing is an optional 
feature of my module? I'm creating an alternative API to allow threads to send 
messages to each other. Sending messages transparently (as much as possible) 
across the cluster is just an "optional feature" for my API, so it doesn't make 
sense to force the user into "locking the main thread" with runForever(), 
unless the user wants the application to become part of a cluster, which could 
very well be decided throught a run-time parameter, or even interactively (off 
then on then off ...) throught the user-interface.

Reply via email to