chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] All threads are blocking by I/O


From: Peter Bex
Subject: Re: [Chicken-users] All threads are blocking by I/O
Date: Wed, 25 Sep 2013 16:31:11 +0200
User-agent: Mutt/1.4.2.3i

On Wed, Sep 25, 2013 at 09:12:14AM -0400, Pedro Melendez wrote:
> Hi Peter,
> 
> Thank you so much for the help!

Hi Pedro,

You're most welcome!

> I just tried it on a linux box and I can
> confirm you that is a windows specific behaviour :(

I was afraid of that.

> I am not using the REPL because I noticed that it was blocking everything
> unless I did a thread-join, so I opted to compile and test all the time
> (like we do with our old friend C/C++ :)

You don't have to; like I said you can just run "csi -s SCRIPT.SCM"

> > It shouldn't be, but our Windows implementation uses Winsock select(),
> > which is really Microsoft's own "special" interpretation of POSIX select()
> > which doesn't work on anything except sockets.  However, this *should*
> > still work since you're only using tcp ports.
> 
> This makes a lot of sense, so I guess my only option is too debug the C++
> side of the tcp implementation on Windows? Or do you know a workaround I
> could try for this?

No, sorry.  I'm afraid the bug is known; we should be using something
like WaitForMultipleObjects() instead of select().  The former is
supposed to work on any object, not just sockets.  Unfortunately,
I've been told this will require substantial rework of CHICKEN's
internals because WaitForMultipleObjects() is callback-based, which
is fundamentally different from the way POSIX select() and poll() work.

We'll need someone who is knowledgeable enough about both Windows and
CHICKEN and willing to spend time on implementing/reworking this.
Unfortunately, AFAIK there's nobody in the community who is willing
to do this.

Cheers,
Peter
-- 
http://www.more-magic.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]