#
5ce80a78 |
| 21-Apr-2015 |
Axel Dörfler <axeld@pinc-software.de> |
BMessage: implemented KMessage reply.
* When you receive a message from a KMessage, and reply to it, it will automatically reply as KMessage, too. * This allows to communicate with BLoopers from w
BMessage: implemented KMessage reply.
* When you receive a message from a KMessage, and reply to it, it will automatically reply as KMessage, too. * This allows to communicate with BLoopers from within the kernel or libroot.so.
show more ...
|
#
fbb6335d |
| 08-Jul-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37432 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e5150e28 |
| 08-Jul-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Patch by Alex Wilson (compilation fixes by myself): Extended the archiving/ unarchiving protocol to support archival of arbitrary object graphs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@
Patch by Alex Wilson (compilation fixes by myself): Extended the archiving/ unarchiving protocol to support archival of arbitrary object graphs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37431 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
e0b7c61c |
| 10-Sep-2009 |
Oliver Tappe <zooey@hirschkaefer.de> |
Closing ticket #4465: Net_server starts services by invoking fork() followed by exec(). If the latter fails (for instance because the service isn't installed), the forked child is invoking exit(). Th
Closing ticket #4465: Net_server starts services by invoking fork() followed by exec(). If the latter fails (for instance because the service isn't installed), the forked child is invoking exit(). This in turn unloads libbe, triggering static cleanup code in BMessage, which deletes a couple of message ports that were inherited from the parent during the fork. After that, net_server was desparately missing those ports and no longer worked reliably. * in InitTerminateLibBe, we now register an atfork-(child-)handler, which takes care to re-initialize the static reply ports used by BMessage code * added BMessage::Private::StaticReInitForkedChild wrapper and BMessage::_StaticReInitForkedChild() implementation which overwrites the inherited port IDs with a set of own ports
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33050 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
d7a16b23 |
| 31-Jul-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Fully switch to the Haiku message format so that it is also used for on-disk storage. * Remove reduntant information from the header (field_count vs. fields_size). * Remove checksums previously u
* Fully switch to the Haiku message format so that it is also used for on-disk storage. * Remove reduntant information from the header (field_count vs. fields_size). * Remove checksums previously used to validate the message passing by area mechanism. * Move variables that are purely used by the instance out of the header and into the BMessage object. * Use more sensible types for the different message fields. * Reduce some field sizes to realistic values. * Make size_t values into uint32 values so the message format will not change when later moving to 64 bits. * Pack the structures used for flat message storage so it doesn't change because of padding. * Fix message passing by area. It never worked because the created area was never actually filled with any data! * Some more allocation checks with graceful fallbacks (should be all now). * Some more checks for negative index values (should also be all now). * Make printing more inline with how the rest of the class works and make some of the output more consistent. * Also add the new unsigned types to PrintToStream() output. * Fix printing of unknown types and invalid BMessages, it would always have printed only the first entry respectively the same error. * Added some clarifying comments. * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32039 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
a433b9fe |
| 09-Mar-2008 |
Michael Lotz <mmlr@mlotz.ch> |
Rewrite and activate message passing by area. Passing by area works now with the new sematic of transfer_area so a message area is transfered into the right teams' address space and it does not need
Rewrite and activate message passing by area. Passing by area works now with the new sematic of transfer_area so a message area is transfered into the right teams' address space and it does not need to be cloned there anymore. Passing by area is only used for messages bigger than a certain size (currently hardcoded to 40KB) which should be somehow bound to the max port message size. This makes passing large messages (i.e. > the port limit) possible, so for example copy&paste of long text, image data, etc. should now work. Got rid of the fClonedArea member as it is not necessary with the new design, renamed shared_area to message_area in the private message_header, avoid an unnecessary allocation of the header for the copy constructors, check allocations in a few more places and some minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24321 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
9dbe170a |
| 26-Jan-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented direct message passing for local targets; this fixes a deadlock with PostMessage() in case the message queue is full. Some notes: * for synchronous replies, we don't use this mechanism ye
Implemented direct message passing for local targets; this fixes a deadlock with PostMessage() in case the message queue is full. Some notes: * for synchronous replies, we don't use this mechanism yet, but it could be extended to do that as well. * the code looks so complicated because we need a way to access the looper's queue without locking it (to prevent deadlocks); like Dano's solution, I've abused BTokenSpace to store a BDirectMessageTarget with a BHandler. * we also need to decouple the lifetime of a looper's queue from its target, as we cannot lock the looper, and therefore, can't guarantee it stays valid as long as we're accessing it outside of BLooper. * init_clipboard() now needs to be done after the global constructors have been called - since sending messages now needs gDefaultTokens to be initialized. Since this is done per image, it shouldn't cause any troubles, though. * some minor cleanup, removed unused _msg_cache_cleanup_() and friends.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19968 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
39cdae74 |
| 10-Apr-2006 |
Michael Lotz <mmlr@mlotz.ch> |
First steps at getting drag & drop to work properly. Simple drag & drop (draging Tracker items) should work now. Not sure about the negotiated version (with mimetype exchange). Fixed left behind drag
First steps at getting drag & drop to work properly. Simple drag & drop (draging Tracker items) should work now. Not sure about the negotiated version (with mimetype exchange). Fixed left behind drag bitmaps. Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17058 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
641a8290 |
| 12-Mar-2006 |
Michael Lotz <mmlr@mlotz.ch> |
Fixed converting KMessages, their target and reply info weren't preserved. Fixes bug 295.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16734 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2bf8fb3a |
| 11-Mar-2006 |
Michael Lotz <mmlr@mlotz.ch> |
Putting Message4 into place to become the new BMessage implementation. Will cleanup USING_MESSAGE4 now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16709 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
05b4b0d7 |
| 23-Jan-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Node monitoring didn't work because unflattening KMessages didn't take the message header into account. It worked before at some point as BLooper was letting the looper handle messages to invalid tar
Node monitoring didn't work because unflattening KMessages didn't take the message header into account. It worked before at some point as BLooper was letting the looper handle messages to invalid targets - they are now just dropped. This fixes bug #93.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16045 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
4ceb1e51 |
| 20-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* reverted Adi's premature changes to BWindow and restored _DetermineTarget() and task_looper() again. * removed BMessenger::fPreferred - whenever you had to specify "usePreferred" separately, yo
* reverted Adi's premature changes to BWindow and restored _DetermineTarget() and task_looper() again. * removed BMessenger::fPreferred - whenever you had to specify "usePreferred" separately, you don't have to do that anymore - use B_PREFERRED_TOKEN instead. * fixed BTokenSpace::GetToken() semantics: it will no longer touch the "object" argument in case of failure. * Introduced a BWindow::_DistributeMessage() that will be part of the event dispatcher counterpart to the app_server (the other will be _DetermineTarget()). * Made it easier to use Michael's Message4 implementation: just add the following line to your UserBuildConfig: AppendToConfigVar DEFINES : HAIKU_TOP src : USING_MESSAGE4 : global ; * Introduced ServerWindow::HandlerMessenger() and FocusMessenger() - the first will target the client handler, while the other will target the preferred handler of the client looper (usually the view having focus). * Fixed dano message unflattening in the Message4 code. * Changed BMessage::PrintToStream() to no longer use macros in the Message4 implementation. * I hope that's all - it's a huge change, but it's all connected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15046 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
156e4f30 |
| 29-Jan-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
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
|
#
534ef684 |
| 28-Jan-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
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_mes
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
show more ...
|
#
874902b2 |
| 26-Jan-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Made sending flattened message available.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11061 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
19cdc457 |
| 25-Aug-2003 |
ejakowatz <ejakowatz@nowhere.fake> |
How the glaring fubar in MessagePrivate.h got past me is a mystery. Nonetheless, here is new BMessenger-related goodness to smooth is all out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@
How the glaring fubar in MessagePrivate.h got past me is a mystery. Nonetheless, here is new BMessenger-related goodness to smooth is all out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4374 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
e9e500cb |
| 25-Aug-2003 |
ejakowatz <ejakowatz@nowhere.fake> |
Minor tweak to BHandler::UnlockLooper() Added calls to _init_message_(), _delete_message_(), and _msg_cache_cleanup() to InitTerminateLibBe.cpp Finished first implementation of BMessage::SendReply(),
Minor tweak to BHandler::UnlockLooper() Added calls to _init_message_(), _delete_message_(), and _msg_cache_cleanup() to InitTerminateLibBe.cpp Finished first implementation of BMessage::SendReply(), BMessage::_send_(), and BMessage::_send_message() Add BMessage to app.src, removed BBlockCache from support.src. New BMessage::Private class has functions for twiddling BMessage internals
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4371 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|