Hi all, I managed to dissect libdispatch well enough that on Linux everything compiles except for two files including all the kqueue bits (which are extracted from queue.c and source.c). Here are the patches: Paolo Bonzini (13): split os_shims.h into separate files move __private_extern__ detection to an autoconf macro remove compat/fd_copy.h finish moving stuff into src/shims portability consolidate hashing of dispatch_kevent_t move mach2nano/nano2mach from source.c to shims/ extract source-type-specific initialization to per-type functions abstract some mentions of ds->ds_dkev extract kevent-specific parts of queue.c almost completely separate kevent/source.c complete separation All but the last three are relatively boring. Would these patches be interesting enough that I should dig up my PPC Mac? Do I have any hope to run libdispatch under Tiger? Paolo
On Oct 17, 2009, at 4:49 AM, Paolo Bonzini wrote:
Would these patches be interesting enough that I should dig up my PPC Mac? Do I have any hope to run libdispatch under Tiger?
"It depends", of course, on what sort of event delivery mechanism you use on Tiger. I'm not sure how fully kqueue was implemented back in Tiger (that was a long time ago, for my aging brain, and I don't have a handy Tiger box to check with) but there's always poll/select if you want to have a background thread monitor events and then reflect them back into the gcd dispatch loop somehow. - Jordan
Would these patches be interesting enough that I should dig up my PPC Mac? Do I have any hope to run libdispatch under Tiger?
"It depends", of course, on what sort of event delivery mechanism you use on Tiger. I'm not sure how fully kqueue was implemented back in Tiger (that was a long time ago, for my aging brain, and I don't have a handy Tiger box to check with) but there's always poll/select if you want to have a background thread monitor events and then reflect them back into the gcd dispatch loop somehow.
It's hard enough to find a Tiger compiler with sync builtins that I just installed FreeBSD. :-) Paolo
participants (2)
-
Jordan K. Hubbard
-
Paolo Bonzini