Hi Holger,

    let's collaborate on this.  You and I and lots of others want this to be done.  But in fixing the below bug my priorities are to
a) deliver a fix promptly
b) write the code so that either kqueue or epoll or select will be used based on HAVE_KQUEUE & HAVE_EPOLL defines

So if I deliver a fix don't think that I'm against having a proper event-driven or idling VM, I just don't have it in my head yet and want the bug fixed and kqueue/epoll available asap.

On Thu, Mar 24, 2016 at 11:42 PM, Holger Freyther <holger@freyther.de> wrote:


> On 25 Mar 2016, at 00:35, Eliot Miranda <eliot.miranda@gmail.com> wrote:
>


Dear Eliot,


> Fabulous, thank you!  replace the self halts with e.g. self assert: (clientSocket dataAvailable = (clientSocket readSemaphore excessSignals > 0)), and we even have a test.  I have work to do tomorrow but hope I should be able to debug this soon.  I'll add kqueue and epoll support when I fix it.

before going to kqueue, could you have a look at my hack to create a completely idle VM? Once the VM has moved to kqueue it seems one can not get a SIGIO for the "kqueue descriptor"[1] itself and I don't know if SIGIO remains working for the individual file descriptors.

holger


[1] https://github.com/freebsd/freebsd/blob/master/sys/kern/kern_event.c#L1735




--
_,,,^..^,,,_
best, Eliot