they are public now, they might become private later on.
It's almost the same as acquire_sem() but allows you to release another semaphore
atomically. This makes condvar implementations and the like very simple to do.
Added B_CHECK_PERMISSION flags to the user calls, although it's not honored yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11887 a95241bf-73f2-0310-859d-f6bbb57e9c96
Most of the debug events had their own message, but some were grouped
into this `stopped' message with a `why' field to describe what kind
of event it actually was. Hence the user had to check two levels until
they could know what event occurred. So I got rid of this message and
provided separate messages for the concerned events.
* Got rid of B_DEBUG_MESSAGE_GET_WHY_STOPPED and introduced
B_DEBUG_MESSAGE_GET_CPU_STATE which is pretty much the same.
* Put B_DEBUG_MESSAGE_RUN_THREAD and B_DEBUG_MESSAGE_STEP_THREAD into
a single B_DEBUG_MESSAGE_CONTINUE_THREAD message with a boolean
`single_step' field.
* get_debug_why_stopped_string() -> get_debug_message_string().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11712 a95241bf-73f2-0310-859d-f6bbb57e9c96
get_debug_exception_string() to get a user-readable string for an
exception type.
* Added more signal support. Now the debugger can set per thread which
signals it wishes to be notified of. It can also just ignore the next
occurrence of a signal.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11701 a95241bf-73f2-0310-859d-f6bbb57e9c96
(maybe this should better go into a private header?). If given the function
waits till the loader is done with loading and relocating the executable.
Otherwise it returns before the loader starts.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11690 a95241bf-73f2-0310-859d-f6bbb57e9c96
debugger. After successful reply to the message the debugger won't receive
any more messages from the debugged team. The mechanism is completely
transparent to the target debugger. It simply installs itself as debugger
for the team.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11662 a95241bf-73f2-0310-859d-f6bbb57e9c96
translation for the debug_why_stopped codes.
* Added nub_port member to debug_origin structure, so that now all
synchronous messages to the debugger also include the debug nub port.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11489 a95241bf-73f2-0310-859d-f6bbb57e9c96
interruptable by SIGKILL[THR], even if B_CAN_INTERRUPT is not set. Not
sure, if this is the best solution, but it works.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11484 a95241bf-73f2-0310-859d-f6bbb57e9c96
* team debug flags:
- Added flags for team creation, thread events (creation,
deletion), and image events (creation, deletion).
- Got rid of B_TEAM_DEBUG_SYSCALL_FAST_TRACE. We always send the syscall
arguments. The overhead should be neglectable.
- Added B_TEAM_DEBUG_STOP_NEW_THREADS.
* Added debugger notification messages for signals, team, thread and
image events.
* Added debug request B_DEBUG_MESSAGE_GET_WHY_STOPPED.
* When continuing a thread, the debugger can now specify how to deal with
the occurred event (ignore or handle).
* More data in the signal received notification message.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11468 a95241bf-73f2-0310-859d-f6bbb57e9c96
Unless a good reason appears not to, we'll break binary compatibility here.
BDB could be considered one, but we need a replacement for it anyway. We
strive to port GDB and a couple of changes in the debugger API will make
that easier.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11307 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed ARM support.
* Removed PEF references.
* Added structure and constants for pre syscall tracing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11245 a95241bf-73f2-0310-859d-f6bbb57e9c96
it does belong to <KernelExport.h> anyway.
* Reverted the protection flags back to decimal for consistency with the
other places. BTW, since when do we use decimals for flags?
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11047 a95241bf-73f2-0310-859d-f6bbb57e9c96
not how it is declared in R5, but it is what actually is returned.
* Temporarily added debug_[v]printf() functions for userland usage,
equivalent to dprintf() in kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10758 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Removed the OBOS_CPU_TYPE stuff - our types are now always defined.
- Made the cpu types consistent, renamed X86 to x86.
- cpuid_info.eax_1 now also contains the extended family/model info.
- Renamed cpuid_info.eax_0.vendorid to vendor_id.
- changed B_CPU_x86_VENDOR_MASK to 0xff to make some space for future changes.
- added some more CPU types (if anyone knows more Transmeta IDs; I
couldn't find more of them).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10319 a95241bf-73f2-0310-859d-f6bbb57e9c96
there is no reason to let it appear important by having it as first
parameter; it's only used to override the DDM's decision if the user
so choses.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9694 a95241bf-73f2-0310-859d-f6bbb57e9c96
may be renamed):
- B_RELEASE_ALL: the semaphore count is set to 0, all waiting threads are released
(the "count" argument of release_etc_sem() is ignored then)
- B_RELEASE_IF_WAITING_ONLY: the semaphore count is only decreased if there
are any waiting threads; ie. the semaphore is signaled
Together, they will make the pthread_cond_*() functions easy to implement, and
they come in handy at other places, too.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9329 a95241bf-73f2-0310-859d-f6bbb57e9c96
it to the header, too :)
(it's a new function in Dano/Zeta)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8234 a95241bf-73f2-0310-859d-f6bbb57e9c96
actually used at several places (like get_next_thread_info(), ...).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6682 a95241bf-73f2-0310-859d-f6bbb57e9c96
that's what real_time_clock() returns as well. I don't know why Be made
it int32, but I don't care too much either.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5144 a95241bf-73f2-0310-859d-f6bbb57e9c96
Next step: add B_CPU_INTEL_PENTIUM_IV, when we could boot successfully on such beast ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3104 a95241bf-73f2-0310-859d-f6bbb57e9c96
*_volume().
Added a "volumeName" parameter to the fs_initialize_volume() call.
Introduced a "flags" field to the fs_unmount_volume() call - I have only
defined one flag, B_FORCE_UNMOUNT, right now.
But the unmount behaviour should be discussed anyway first (always force
unmount?).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2828 a95241bf-73f2-0310-859d-f6bbb57e9c96
Now defines a new flag B_QUERY_NON_INDEXED - because querying non-indexed
attributes is a slow operation, it now has to be enabled on demand only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2595 a95241bf-73f2-0310-859d-f6bbb57e9c96