At present, we only replace sched_yield(2) on Linux as
the replacements are non-portable. If other operating
systems are known to have problem sched_yield(2)
implementations, I suggest filing a separate ITS with
details and suggested replacement.
Okay, I've committed a basic detection code for REPLACE_SCHED_YIELD as well as updated replacement code. Currently uses select(2), but can be switched to nanosleep(2).
I've only tested on FreeBSD4 where this is a no-op.
Now pushing to a Linux box for real testing.
nanosleep(2) should work on Solaris (at least 8, 9 and 10) as well.
--
Igor
-- -- Howard Chu Chief Architect, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc OpenLDAP Core Team http://www.openldap.org/project/