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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user