Firefox/libthread_xu issue with pthread_attr_setschedparam
Matthew Dillon
dillon at apollo.backplane.com
Mon Jul 14 11:02:34 PDT 2008
:I have a Firefox problem caused by DragonFly and/or libthread_xu.
:sched_get_priority_min(SCHED_OTHER) and
:sched_get_priority_max(SCHED_OTHER) return values PRIO_MIN (-20) and
:PRIO_MAX(20), both defined in sys/sys/resource.h.
:When pthread_attr_setschedparam is called to set scheduling priority for
:scheduling policy SCHED_OTHER, the priority value is checked if it is
:within range by comparing it to THR_MIN_PRIORITY(0) and
:THR_MAX_PRIORITY(31), both defined in
:lib/libthread_xu/thread/thr_private.h. When a value in the range [-20;
:-1] is used, pthread_attr_setschedparam returns an error code of
:ENOTSUPP, which NSPR doesn't like. More precisely, when Firefox is
:compiled with the 'debug' pkgsrc option, an assert fails, abort() is
:called and a coredump written.
Nice catch. I'll clean up the priority handling code right now.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Bugs
mailing list