Developer Release Notes: BeOS Release 4, 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,
|
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).
Copyright © 1998 Be, Inc. All rights reserved.