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
64 lines
1.3 KiB
Plaintext
64 lines
1.3 KiB
Plaintext
SubDir HAIKU_TOP src kits app ;
|
|
|
|
# If defined allows to run applications without the registrar
|
|
# -- for development only, of course.
|
|
if $(RUN_WITHOUT_REGISTRAR) {
|
|
local defines = [ FDefines RUN_WITHOUT_REGISTRAR ] ;
|
|
SubDirCcFlags $(defines) ;
|
|
SubDirC++Flags $(defines) ;
|
|
}
|
|
|
|
# If defined allows to run applications without the app server
|
|
# -- needed until the app server runs on our kernel.
|
|
RUN_WITHOUT_APP_SERVER ?= 0 ;
|
|
if $(RUN_WITHOUT_APP_SERVER) != 0 {
|
|
local defines = [ FDefines RUN_WITHOUT_APP_SERVER ] ;
|
|
SubDirCcFlags $(defines) ;
|
|
SubDirC++Flags $(defines) ;
|
|
}
|
|
|
|
UsePrivateHeaders shared app interface kernel ;
|
|
UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
|
|
|
|
SetSubDirSupportedPlatforms haiku libbe_test ;
|
|
|
|
MergeObject <libbe>app_kit.o :
|
|
AppDefs.cpp
|
|
Application.cpp
|
|
AppMisc.cpp
|
|
AppServerLink.cpp
|
|
AreaLink.cpp
|
|
Cursor.cpp
|
|
Clipboard.cpp
|
|
dano_message.cpp
|
|
DesktopLink.cpp
|
|
DirectMessageTarget.cpp
|
|
Handler.cpp
|
|
InitTerminateLibBe.cpp
|
|
Invoker.cpp
|
|
LinkReceiver.cpp
|
|
LinkSender.cpp
|
|
Looper.cpp
|
|
LooperList.cpp
|
|
Message.cpp
|
|
MessageFilter.cpp
|
|
MessageQueue.cpp
|
|
MessageRunner.cpp
|
|
Messenger.cpp
|
|
MessageUtils.cpp
|
|
PropertyInfo.cpp
|
|
PortLink.cpp
|
|
r5_message.cpp
|
|
RegistrarDefs.cpp
|
|
RegistrarThread.cpp
|
|
RegistrarThreadManager.cpp
|
|
Roster.cpp
|
|
RosterPrivate.cpp
|
|
Server.cpp
|
|
ServerLink.cpp
|
|
ServerMemoryAllocator.cpp
|
|
TokenSpace.cpp
|
|
TypeConstants.cpp
|
|
;
|
|
|