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