Skip to main content


in reply to Jens Finkhäuser

Ah, some kind of wrapper. My ObjC days are a bit in the last. Sounds like a CFFileDescriptor porting issue.
in reply to Jens Finkhäuser

@jens this is nice confirming signal. But yes I’ve been monkeying with some diffs that include that file.
in reply to Steven G. Harms

Which of the many different versions of libdispatch are you using? The one we had in ports was working well ten years ago. I am not sure if anyone has used the Swift one. There are a couple of subtle differences between kqueue on XNU and FreeBSD that tripped up .NET and might be relevant (I think those are all fixed in 15?).
in reply to David Chisnall (*Now with 50% more sarcasm!*)

@david_chisnall

Libdispatch was 5.9.2 with a few changes from the original author.

CoreFoundation is the same version but I’m taking BSD enabling patches from the swift 5.10 port (which gets from no compile to compile).

Like I said this is really /quite/ beyond my skill level. I’m loath to mention because of your clear position on AI use, but Claude code has provided my test harness and has steered my attention to CFFileDescriptor as suggested by @jens below.

I’ve been reading up on pthread to see if I can find the bad signal../.

in reply to Steven G. Harms

If it's CFFileDescriptor, it's much more likely to do with kqueue as @david_chisnall said, than with threads. The test case talks about a pipe on which an event does not seem to trigger.

I forget without reading up, but I had some issue with kqueue IIRC. Been a while now...

in reply to Jens Finkhäuser

@jens @david_chisnall

Well, thanks to your help, I’ve been able to make some sort of Franken-patch that, at the very least, is passing my test case. Provided I have instrumented the right test, there may be a way forward out of this.