Commit Graph
100 Commits
Author SHA1 Message Date
Ingo Weinhold eafe61c06b * Some formatting cleanup.
* 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
2005-02-04 14:37:55 +00:00
Ingo Weinhold 9965d18a07 Implemented all notify_*() functions. As soon as no longer used anywhere,
notify_listener() and send_notification() can be dropped.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 15:19:35 +00:00
Ingo Weinhold 98f9f2bf07 Added parameters to notify_{stat,attribute}_change() that will give more information on what actually happened.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 15:17:54 +00:00
Ingo Weinhold 13bbbbf5dc The curse of aging... a trembling hand. ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 14:26:42 +00:00
Ingo Weinhold 95bac3fda5 Haiku will provide more information for B_ATTR_CHANGED and B_STAT_CHANGED events.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 14:19:26 +00:00
Ingo Weinhold c02a7b0dcb Fixed build of libbeadapter.so and libopenbeos.so.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 13:40:19 +00:00
Ingo Weinhold 102267997c Vertical() can be const and should be, when invoked on a const instance.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 13:33:34 +00:00
Ingo Weinhold 164d84bb10 Switched to new DoublyLinkedList class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 02:35:16 +00:00
Ingo Weinhold f42f300bd5 Work around a gcc bug: A private typedef in a base class can class with an equal identifier in a derived class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 02:31:06 +00:00
Ingo Weinhold b0f7c84522 Switched to new DoublyLinkedList class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 02:19:23 +00:00
Ingo Weinhold 50d68edcf4 It's fun to rename functions in templatized code. You only realize, that you missed some, when that specific part is instantiated.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 02:12:35 +00:00
Ingo Weinhold be6294af4b Switched to new DoublyLinkedList class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:53:00 +00:00
Ingo Weinhold 2cfdb0ed38 * Added DoublyLinkedListMemberGetLink class which directly accesses the
link member in the element class. Usually more comfortable for structs.
* Added Add() method as synonym for Insert().
* Made fGetLink member static to save memory in objects using it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:48:43 +00:00
Ingo Weinhold ef13ad9efd Include dir "private/kernel/util" not longer needed, since we already have "private/kernel" and include <util/...>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:20:35 +00:00
Ingo Weinhold bed68f2088 DoublyLinkedList lives in the <util/DoublyLinkedList.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:16:26 +00:00
Ingo Weinhold 297ffaeb84 Appended the new DoublyLinkedList implementation to DoublyLinkedList.h. The old implementation will go, when all the places where it is used have been adjusted.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:14:47 +00:00
Ingo Weinhold eb5bc5f924 Added a bit of documentation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-31 00:26:30 +00:00
Ingo Weinhold 242ebd2030 The reduced area size was used for testing only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 23:40:17 +00:00
Ingo Weinhold 576ca13ddb Added debug output. No functional change. Surprisingly things seem to work.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 23:28:49 +00:00
Ingo Weinhold ea9716dc6e Return B_NO_MEMORY, if the command handler could *not* be allocated. First tests indicate that the messaging service basically seems to be working. Didn't test yet, if that's still true, when an area is full.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 18:48:38 +00:00
Ingo Weinhold d06fe82117 Exemplarily implemented notify_entry_moved(). Untested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:13:35 +00:00
Ingo Weinhold 244f03dc1c * Moved the autolocking code for recursive lockers to <util/AutoLock.h>.
* Added resolve_mount_point_to_volume_root() version for external use
  (by the node monitor).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:11:46 +00:00
Ingo Weinhold 831841e1c0 Moved generic autolocking code to <util/AutoLock.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:09:57 +00:00
Ingo Weinhold b6933d8acc Moved generic auto locking code out of
<disk_device_manager/KDiskDeviceUtils.h> into <util/AutoLock.h>.
Added instantiations for recursive locks (moved from vfs.cpp) and
mutexes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:09:06 +00:00
Ingo Weinhold 4eb57a1d3d Added WARNING macro.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:06:31 +00:00
Ingo Weinhold 3424c4fea4 Renamed node_monitor.c to node_monitor.cpp and fixed implicit conversions from void*.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 14:09:01 +00:00
Ingo Weinhold 5207cc7a8c Proposal for a replacement of the notify_listener() and
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
2005-01-30 01:53:37 +00:00
Ingo Weinhold d0e2e53903 * Added missing MessagingCommandHandler methods.
* Added a class for handling "send message" commands and install by
  default. At least in theory messages issued by the kernel should now
  be delivered to the target. Still untested.
* Added lock to protect the command handler map.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 01:17:09 +00:00
Ingo Weinhold 1fa9da350b Removed obsolete struct.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 01:11:33 +00:00
Ingo Weinhold c6dbc50e2b * Added per-port sanity limits. We limit the number and summed size of
messages.
* We now maintain a second message list per port, which is sorted by
  timeout time. Thus we can drop timed out messages as early as possible.
* Fixed a bug which caused messages to disappear in the port list.
* Now delete a port not only when an error occurred when delivering a
  message, but also when it is empty.
* More debug output.

Seems to be working well now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:54:59 +00:00
Ingo Weinhold 0353d33137 Added kernel util header for DoublyLinkedList.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:48:08 +00:00
Ingo Weinhold 1a2f24bbbb Made some debug output debug conditional.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:46:38 +00:00
Ingo Weinhold 9b99cdbb5a Added a program testing the registrar's MessageDeliverer. Particularly
with respect to whether the delivery still works when the port is full.
It seems to do (now).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:45:30 +00:00
Ingo Weinhold 4a24ce3652 An alternative doubly linked list implementation which is far more complete and usable.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:42:56 +00:00
Ingo Weinhold 634f747e29 Now we use the MessageDeliverer to send asynchronous messages to other apps. Seems to work when the target port is not full. The other case has not been tested yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:49:32 +00:00
Ingo Weinhold f64fc02f89 Added another DeliverMessage version for broadcasting.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:45:59 +00:00
Ingo Weinhold 156e4f302b Consequently use B_PREFERRED_TOKEN when the preferred target is addressed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:44:55 +00:00
Ingo Weinhold 09b770dd50 * Added Dump() to BMessage::Header for debugging purposes.
* In BMessage::Header::ReadFrom(DataIO &) the checksum was checked before
  the fBodySize field was initialized, which could make
  BMessage::Unflatten() fail.
* Calculate the header checksum now by writing the header to a buffer and
  checksumming that. This is simpler and avoids problems when something
  else is written than is actually stored in the header (e.g. when a
  preferred target token is replaced by B_PREFERRED_TOKEN).
While the BMessage unit tests always passed, now the other App Kit tests
pass as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:43:44 +00:00
Ingo Weinhold 94b98dff1a Consequently use B_{NULL,PREFERRED}_TOKEN to prevent problems with BMessage code checking against B_NULL_TOKEN.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:36:20 +00:00
Ingo Weinhold c6de9dc035 Missing initialization of members in the second constructor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:34:00 +00:00
Ingo Weinhold 01225b393d Disabled debugging. Was accidentally committed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:33:20 +00:00
Ingo Weinhold 871756c256 Ignore libgccObjects and Timezones.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:32:07 +00:00
Ingo Weinhold efbea3a07a Moved the functionality to flatten and unflatten a BMessage header into
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
2005-01-29 00:19:50 +00:00
Ingo Weinhold f8953fc789 Allow that const data can be supplied to TChecksumHelper::Cache().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 00:17:24 +00:00
Ingo Weinhold 534ef684d9 Turned _init_message_(), _delete_message_(), and _clean_msg_cache_() into
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
2005-01-28 15:05:44 +00:00
Ingo Weinhold 9d0a9900f0 * Updated copyright date and added myself to the authors. :-)
* Removed 1500 lines of unused non-template-madness code. We have version
  control to resurrect it, if we ever wish to.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 14:50:01 +00:00
Ingo Weinhold d306a4652c * Added a timeout to the delivery functions. This is the time after which
the message will be finally dropped. Makes sense for periodic message
  runners for instance.
* Set the target of a BMessage before flattening it. Thus there will be
  space in the flattened header for it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 15:18:29 +00:00
Ingo Weinhold 7f1ee731a9 Using namespace std for nothrow.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 14:58:18 +00:00
Ingo Weinhold c277ab01e6 Make the compiler happy. Shadowing super class methods with different signature is a very annoying C++ feature.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 14:57:35 +00:00
Ingo Weinhold c452fa675f Argh! Forgot to commit. Added KMessage to libbe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 14:11:02 +00:00
Ingo Weinhold 56833e831f Implemented the actual message sending. The implementation is complete now, but still untested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:20:28 +00:00
Ingo Weinhold 874902b2c1 Made sending flattened message available.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:18:19 +00:00
Ingo Weinhold 377872556d * Added support for unflatting from flattened KMessages. At least when
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
2005-01-26 02:16:44 +00:00
Ingo Weinhold ea69d9d35f Moved the kMessageHeaderMagic constant into the class. Made BMessage a friend of KMessage.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:10:42 +00:00
Ingo Weinhold b8ab94faaa An even nicer solution for the UnarchiveObjects actions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:07:39 +00:00
Ingo Weinhold 590e2873fd Introduced pseudo-target timezone_files, which can be used to build all timezone files.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 23:58:41 +00:00
Ingo Weinhold ea3df577a3 After resolving the flag clash things work. Use our nice B_KERNEL_{READ,WRITE}_AREA flags for clarity.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 23:30:53 +00:00
Ingo Weinhold 0859d5e9ae Added B_USER_CLONEABLE_AREA to the kernel area protection mask.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:56:31 +00:00
Ingo Weinhold ed932a9564 Added B_USER_CLONEABLE_AREA protection flag. Here it does belong.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:55:13 +00:00
Ingo Weinhold 06f5fe61a2 * Removed B_USER_CLONEABLE_AREA. The value conflics with other flags and
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
2005-01-25 22:54:22 +00:00
Ingo Weinhold aa50545364 As I recently learned making a kernel area B_READ_AREA/B_WRITE_AREA makes
it readable/writable for all userland apps. This is not what we want here.
We want to make the area cloneable for the registrar and hence use the
new flag B_USER_CLONEABLE_AREA. But there seems to be a bug that causes
strange things to happen, when using that flag only, therefore we go with
all of them until it is fixed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:18:23 +00:00
Ingo Weinhold 6e53f60e2c Added support for protection flag B_USER_CLONEABLE_AREA.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:13:10 +00:00
Ingo Weinhold 6e9582baf1 Introduced new protection flag B_USER_CLONEABLE_AREA. It makes kernel areas cloneable for userland apps.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:11:59 +00:00
Ingo Weinhold 757bc7b934 Renamed Referencable to Referenceable (mainly to make Axel happier :-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 16:10:03 +00:00
Ingo Weinhold 2c17b743c7 Implemented all missing functionality save the actual sending of a
flattened message. Support for this needs to be added to BMessage first.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 16:05:26 +00:00
Ingo Weinhold 5ac1156848 Replaced _init_roster_() _delete_roster_() by static functions in BRoster::Private.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:20:11 +00:00
Ingo Weinhold 42be32659a TRoster is no longer a friend of BMessenger -- use BMessenger::Private.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:08:15 +00:00
Ingo Weinhold 35d70f9eca The MessagingService is now a singleton. Added creation of the MessageDeliverer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:06:42 +00:00
Ingo Weinhold c36e75d1cb Added Referencable.cpp and MessageDeliverer.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:04:52 +00:00
Ingo Weinhold 2467cef0f0 This class encapsulates the service delivering messages without dropping
them immediately when the target port is full at the moment. It's not
quite complete. The data structures are there, but the actual delivery is
still missing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:04:05 +00:00
Ingo Weinhold 47e01f5075 Added helper class Referencable (a simple base class for reference counting).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:00:12 +00:00
Ingo Weinhold 73895a69a0 * Added the class MessagingCommandHandler, instances of which can be
registered as handlers for specific commands sent by the kernel.
  (Beautifully object-oriented :-)
* Fixed a bug regarding MessageArea creation (the object was deleted
  twice on error).
* Actually resume the command processor thread.
* Turned the class into a singleton.
* Now always process all commands found in an area (should minimize
  latencies).

Modulo bugs the class is now complete.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:58:37 +00:00
Ingo Weinhold 27bd55fdf3 * Improved initialization.
* The counter semaphore is now only released when writing a command into
  an formerly empty area. The userland part is aware of that. :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:51:06 +00:00
Ingo Weinhold d7b6591345 Added initialization of the messaging service.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:48:34 +00:00
Ingo Weinhold 647bed8f15 Added clarifying comment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:47:22 +00:00
Ingo Weinhold 4b8aafea9f BMessenger has no friends besides Private anymore.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:46:28 +00:00
Ingo Weinhold 4afc60d31b * Turned the private constructor into a SetTo().
* The < operator uses BMessenger::Private now (it's no longer a friend).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:45:14 +00:00
Ingo Weinhold 16cab04ad2 * Fixed mismatching header guard.
* Added SetTo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:42:55 +00:00
Ingo Weinhold 054e7d17d7 * Got rid of all friends save the Private inner class.
* Turned the private constructor into a private SetTo().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:41:50 +00:00
Ingo Weinhold dd43b03ce1 Added the messaging service and a compatibility file for the R5 test registrar.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:32:17 +00:00
Ingo Weinhold 0a1eb226fb Start the messaging service. Due to missing kernel functionality the
initialization still fails.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:31:02 +00:00
Ingo Weinhold cdab464e30 New macro for non-fatal, but nevertheless serious errors.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:29:24 +00:00
Ingo Weinhold c72f8221e0 File we only compile in for the obos_registrar, the one for testing under R5. Contains dummies for syscalls not existent there.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:28:33 +00:00
Ingo Weinhold 9e4d0f686e The beginning of the registrar-side kernel->userland messaging service.
The passing of commands from kernel to registrar should be complete now,
only the actual message delivery is missing.
Completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:26:39 +00:00
Ingo Weinhold b5c8eaec52 Added messaging service header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:23:20 +00:00
Ingo Weinhold fbca78bb8b Added messaging service syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:22:51 +00:00
Ingo Weinhold 65174bbf57 Added unregistration. Fixed MessagingService::RegisterService(): the semaphores weren't stored.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:22:03 +00:00
Ingo Weinhold 244ddcf058 Added _user_unregister_messaging_service(). Fixed second send_message() proto.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:19:03 +00:00
Ingo Weinhold 2c872c4fe5 Removed obsolete ancestor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 23:00:37 +00:00
Ingo Weinhold 4cacc85bae Prevent a linker error. It complains about multiple definitions of nothrow.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:56:19 +00:00
Ingo Weinhold 2d50eca728 Added the messaging service.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:54:46 +00:00
Ingo Weinhold 59b9b48bb3 Added a service that will be responsible for sending messages from kernel
to userland applications. A userland server (probably the registrar) will
register as the server responsible for delivering the messages. The
messages are passed to it via shared memory.

The advantage over sending the messages directly will be, that they won't
need to be dropped, if the receiver port is temporarily full.

Currently only the kernel side is implemented. Completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:54:19 +00:00
Ingo Weinhold e81d2d2645 Added missing headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:43:32 +00:00
Ingo Weinhold c3a3ddf246 Added KMessage, a data container pretty much like BMessage, but
append-only and hence has very compact storage and a comparatively small
footprint implementation. Can be used for kernel->userland messaging.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 19:19:36 +00:00
Ingo Weinhold 365eee4a8b Don't include uname() when being built for Haiku. Actually the whole
file should not be included, but if simply left out, linking libnet will
fail, complaining about a missing _h_errnop().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 17:58:32 +00:00
Ingo Weinhold 902c72f6bb Added small clipboard test. Didn't realize that something similar did already exist in src/apps/bin. But this one can write to the clipboard, too.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 17:51:37 +00:00
Ingo Weinhold 78b31a7c44 Removed unnecessary definition. Added debug macros.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 17:44:49 +00:00
Ingo Weinhold f89474914e Added debug output macros.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 17:43:40 +00:00
Ingo Weinhold 84de162be9 More debug output in case of failure.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 17:38:20 +00:00
Ingo Weinhold 1e78d7ff9f That may be the wrong place, but R5's libroot prints 'Abort' when abort() was called. That's at least a helpful clue, when you see your program terminate spontaneously.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 17:34:57 +00:00