- SupportDefs.h only includes stdbool.h if included from C
- stdbool.h for C++ now includes a macro for "bool" as defined by that header
- stdbool.h does nothing if __bool_true_false_are_defined is already defined
- stdbool.h no longer defines a _Bool enum, but defines _Bool as unsigned char, as
previously done by SupportDefs.h (the previous version changed the size).
- The gensyscalls Jamfile now preprocesses its headers in C++ mode so that "bool"
stays "bool", and doesn't become _Bool.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12042 a95241bf-73f2-0310-859d-f6bbb57e9c96
SupportDefs.h now includes stdbool.h
This can break in some cases
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11985 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
* Removed orig_e{a,d}x. We will always report those in e{a,d}x.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11519 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
send_notification() interface, which I personally find quite ugly.
Each notification type gets its own function, which makes very clear,
which parameters are to be supplied. Also note the addition of the
`name' parameter for the `entry removed' notification and `fromName'
for `entry moved'.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11145 a95241bf-73f2-0310-859d-f6bbb57e9c96
a separate class. This allowed to improve _SendFlattenedMessage() to
deal properly with flattened BMessages as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11116 a95241bf-73f2-0310-859d-f6bbb57e9c96
proper private static BMessage members and made them accessible through
BMessage::Private. Got rid of unused _reconstruct_message_().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11106 a95241bf-73f2-0310-859d-f6bbb57e9c96
a buffer is given.
* Added method for sending flattened messages. The KMessage support is
complete, but for BMessages this is a bit tricky. We currently unflatten
the BMessages and send those.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11060 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
* Turned the private constructor into a private SetTo().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11020 a95241bf-73f2-0310-859d-f6bbb57e9c96
functionality as good as probe(), but that will change soon).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10848 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
Renamed fSystemCount to fCount.
* be_clipboard is now initialized by init_clipboard().
* Documented at least {Local,System}Count(), since their meaning wasn't
very obvious to me (neither helped the BeBook description).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10706 a95241bf-73f2-0310-859d-f6bbb57e9c96
is now device_attr, pnp_bus_info bus_module_info, pnp_driver_info driver_module_info, ...
Small cleanup (more would be needed, but this has time).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10670 a95241bf-73f2-0310-859d-f6bbb57e9c96
The API makes it possible to later use faster indexed search on the table.
The table could probably also be regenerated by running a script on setmime -dump.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10579 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
Added API for sub transactions (not yet implemented).
Added file_cache_sync() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10047 a95241bf-73f2-0310-859d-f6bbb57e9c96
added flags parameter (for example for B_MOUNT_READ_ONLY).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9939 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