The Kernel Kit
Developer Release Notes
BeOS Release 4
Bug Fixes
- spawn_thread() now returns
a reasonable error code (B_NO_MEMORY) when it fails because of
a lack of memory. 
(It used to return -1 in this case.)
Scheduler Priorities
Confused about what sort of priority to give your thread? 
Disatisfied with
the handful of hard-coded priorities over in OS.h? 
Try these:
int32 suggest_thread_priority(uint32 what = B_DEFAULT_MEDIA_PRIORITY,
   int32 period = 0,
   bigtime_t jitter = 0,
   bigtime_t length = 0);
|
bigtime_t estimate_max_scheduling_latency(thread_id thread);
|
- suggest_thread_priority()
asks the system to suggest the best fitting priority for a thread
that repeats the same
task over and over (such as receiving and processing buffers of media data). 
The what
argument is a bit mask that describes what you're doing in the
thread. 
You create it by combining pre-defined constants
that are defined in kernel/scheduler.h. 
The other three arguments
quantify the periodicity and "duty cycle" of the thread's iterations.
- The estimate_max_scheduling_latency()
function returns an estimate of how often a thread is scheduled to
run.
CPU ID Information
The new
cpuid_info
union provides three parcels of manfacturer information
about your CPU (Intel only):
- The eax_0 struct
contains the vendor id and the max_eax.
- The eax_1 struct
contains "make and model" info.
- The regs struct
contains register info.
The get_cpuid()
function returns a cpuid_info union for one of the
CPUs on your system (identified by index).
BeOS Release 4
Copyright ©
1998 Be, Inc.  All rights reserved.