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.