State of the Linux port (with blocks support)
Hi, this time I compiled with LLVM/GCC 4.2.1. Here are the brief results: dispatch_api: pass dispatch_c99: pass dispatch_cascade: pass dispatch_debug: pass dispatch_priority: fail dispatch_priority2: fail dispatch_starfish: fail, spins forever queue_finalizer: pass dispatch_after: fail, spins forever dispatch_apply: pass dispatch_drift: fail, spins forever dispatch_group: pass dispatch_pingpong: pass dispatch_read: fail, spins forever dispatch_readsync: pass dispatch_sema: pass dispatch_timer_bit31: fail, spins forever dispatch_timer_bit63: fail, spins forever dispatch_plusplus: pass Hopefully, those tasks that don't terminate fail due to the same problem, so I'm going to investigate this issue further. ciao, Mario
On Thu, 19 Nov 2009, Mario Schwalbe wrote:
dispatch_after: fail, spins forever dispatch_apply: pass dispatch_drift: fail, spins forever dispatch_group: pass dispatch_pingpong: pass dispatch_read: fail, spins forever dispatch_readsync: pass dispatch_sema: pass dispatch_timer_bit31: fail, spins forever dispatch_timer_bit63: fail, spins forever
dispatch_plusplus: pass
Hopefully, those tasks that don't terminate fail due to the same problem, so I'm going to investigate this issue further.
The fail, spin forever problems sounds a bit like you might be running into problems with either the timeout code or the posix semaphore-based wakeup mechanism. I had similar problems when initially working on the psem parts, and in particular ran into semantic issues with the interpretations of timeouts and relative vs. absolute time. There might be either underlying differences in how it works with libkqueue that need to be resolved, or there could be bugs in the psem code (I should out a few of them only a week or two ago once I made it through the last bits of the test suite). Robert N M Watson Computer Laboratory University of Cambridge
participants (2)
-
Mario Schwalbe
-
Robert Watson