On Tue, 2007-07-10 at 17:56 -0400, Sandro Magi wrote:

> How do you detect deadlocks? Is the procedure you describe below where
> the thread is GC'd?

deadlocked = unreachable.

> Sounds interesting. I'll have to think about it a bit more, as I think
> it almost exactly reverses my ingrained block/unblock semantics.

That's what control inversion does. But no problem, you can
invert again.

> Still trying to grasp this. How do you forget to "plug in" a channel?

Pass it as an argument.


> How does the async I/O introduce lockups?

Synchronous threads do not block really .. they just exchange
control to another thread. Lockup is impossible.

Async (pre-emptive) threads really DO block.

>  Do multiple kernel threads
> execute the queue of fthreads simultaneously?

No. At most one queue per pthread.


-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to