haiku/headers/os/app
Axel Dörfler 9dbe170a69 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
2007-01-26 13:59:56 +00:00
..
AppDefs.h Merge from layout management branch. 2006-08-26 16:21:15 +00:00
Application.h * There is now a server_read_only_memory structure that is placed in a (surprise!) 2006-04-25 20:12:06 +00:00
Clipboard.h * Got rid of the BClipboard::fCount. It was modified, but never read. 2005-01-13 00:54:00 +00:00
Cursor.h various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
Handler.h Some cleanup. 2006-06-14 18:31:15 +00:00
Invoker.h Cleanup! 2006-01-03 09:23:08 +00:00
Looper.h Implemented direct message passing for local targets; this fixes a deadlock 2007-01-26 13:59:56 +00:00
Message.h Implemented direct message passing for local targets; this fixes a deadlock 2007-01-26 13:59:56 +00:00
MessageFilter.h Cleanup! 2006-01-03 09:23:08 +00:00
MessageQueue.h * Added a Dano extension to BMessageQueue: IsNextMessage(). 2007-01-25 17:08:16 +00:00
MessageRunner.h Removed the detached version of the BMessageRunner object again, and instead 2006-04-02 14:47:01 +00:00
Messenger.h * reverted Adi's premature changes to BWindow and restored _DetermineTarget() and 2005-11-20 16:24:23 +00:00
PropertyInfo.h moved B_PROPERTY_INFO_TYPE definition to TypeConstants.h 2006-06-22 12:21:46 +00:00
Roster.h Turns out the whole "active app" mechanism in the registrar wasn't used at all; the 2007-01-18 17:45:08 +00:00