Developer Release Notes: BeOS Release 4.5, The Kernel Kit
| index | headlines | <<previous | next>> |
|
The Kernel Kit
Developer Release Notes BeOS Release 4.5 |
Bug Fixes and Improvements
- snooze(), send_data(), and receive_data()
are set to be uninterruptible by default.
- Some new CPU constants have been added to the cpu_type list.
-
set_thread_priority() checks for sensible
argument values—nonsensical values are rejected.
Team Usage
|
The new get_team_usage_info()
function retrieves cycle-consumption data for a team:
team is the team_id of the team you want to look at. depth is one of these two constants:
usage returns the statistics in a team_usage_info struct:
The fields are:
If the function doesn't return B_OK, the information in usage is invalid. |
Port Closure
-
Proper atomic closing of ports is now possible through
close_port():
status_t close_port(port_id port);Calling this function on a port will lock the port against further writes. A closed port can be read, but attempts to write to the port return B_BAD_PORT_ID. Read or write calls that are blocked on the port when the port is closed are immediately unblocked and return an error.
Semaphore Timeout
|
There are two new timeout flags that you pass to
acquire_sem_etc():
The old B_TIMEOUT flag is the same as B_RELATIVE_TIMEOUT; the old flag will continue work, but new code should use the new flags. |
Alarms
|
The new set_alarm()
function lets you ask for a SIGALRM signal to be sent
after some amount of time:
The flag value determines how the when value is interpreted:
If this is a periodic alarm, the set_alarm() function returns 0; otherwise, the function returns the absolute time that the handler will be called. |
Kernel Drivers
- New timer interrupt functions let your driver ask for timer interrupts.
Look for add_timer()
and cancel_timer()
in
<drivers/KernelExport.h>.
- New driver settings API lets your driver read driver-specific parameters. Look for load_driver_settings() and get_driver_settings() in <drivers/driver_settings.h>.
| index | headlines | <<previous | next>> |
| BeOS Release 4.1 |
Copyright ©
1999 Be, Inc.
All rights reserved.