Fixed synchronous SendMessage() calls. _send_()'s wantsReply must always be false, otherwise we get flooded with B_NO_REPLY messages.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1412 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2002-10-06 22:50:23 +00:00
parent ad4fdf8d15
commit 717a24b7a6
+2 -8
View File
@@ -363,12 +363,7 @@ DBG(OUT("BMessenger::SendMessage2(%.4s)\n", (char*)&message->what));
status_t error = (message ? B_OK : B_BAD_VALUE); status_t error = (message ? B_OK : B_BAD_VALUE);
if (error == B_OK) { if (error == B_OK) {
BMessenger replyMessenger(replyTo); BMessenger replyMessenger(replyTo);
// If the reply messenger is invalid use the app messenger. error = SendMessage(message, replyMessenger, timeout);
if (!replyMessenger.IsValid())
replyMessenger = be_app_messenger;
bool wantsReply = replyMessenger.IsValid();
error = message->_send_(fPort, fHandlerToken, fPreferredTarget,
timeout, wantsReply, replyMessenger);
} }
DBG(OUT("BMessenger::SendMessage2() done: %lx\n", error)); DBG(OUT("BMessenger::SendMessage2() done: %lx\n", error));
return error; return error;
@@ -403,9 +398,8 @@ BMessenger::SendMessage(BMessage *message, BMessenger replyTo,
// If the reply messenger is invalid use the app messenger. // If the reply messenger is invalid use the app messenger.
if (!replyTo.IsValid()) if (!replyTo.IsValid())
replyTo = be_app_messenger; replyTo = be_app_messenger;
bool wantsReply = replyTo.IsValid();
error = message->_send_(fPort, fHandlerToken, fPreferredTarget, error = message->_send_(fPort, fHandlerToken, fPreferredTarget,
timeout, wantsReply, replyTo); timeout, false, replyTo);
} }
return error; return error;
} }