[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdelibs/dcop
From: Waldo Bastian <bastian () kde ! org>
Date: 2004-10-18 12:43:47
Message-ID: 20041018124347.B36C816CAC () office ! kde ! org
[Download RAW message or body]
CVS commit by waba:
Reverting, we can't detect deadlock reliably this way, so better not
create a false sense of security.
Real solution should be done at application side by providing better
ways to indicate either
A) whether specific incoming calls should be handled while waiting
for a call result, or
B) whether specific outgoing calls should handle (all) incoming calls
while waiting for a call result.
M +7 -24 dcopclient.cpp 1.186
--- kdelibs/dcop/dcopclient.cpp #1.185:1.186
@@ -86,5 +86,4 @@ extern QMap<QCString, DCOPObject *> * kd
typedef QAsciiDict<DCOPClient> client_map_t;
static client_map_t *DCOPClient_CliMap = 0;
-static QCStringList *DCOPClient_PendingCalls = 0;
static
@@ -503,5 +502,4 @@ void DCOPProcessInternal( DCOPClientPriv
if ( canPost && d->currentKey && key != d->currentKey ) {
- if (!DCOPClient_PendingCalls->contains(fromApp)) {
DCOPClientMessage* msg = new DCOPClientMessage;
msg->opcode = opcode;
@@ -512,8 +510,4 @@ void DCOPProcessInternal( DCOPClientPriv
return;
}
-#ifndef NDEBUG
- qWarning("DCOP Deadlock prevention: handling call from %s for %s recursive", \
fromApp.data(), app.data());
-#endif
- }
d->objId = objId;
@@ -607,6 +601,4 @@ void DCOPClient::setMainClient( DCOPClie
DCOPClient::DCOPClient()
{
- if (!DCOPClient_PendingCalls)
- DCOPClient_PendingCalls = new QCStringList;
d = new DCOPClientPrivate;
d->parent = this;
@@ -1864,6 +1855,4 @@ bool DCOPClient::callInternal(const QCSt
IceFlush (d->iceConn);
- DCOPClient_PendingCalls->prepend(remApp);
-
IceReplyWaitInfo waitInfo;
waitInfo.sequence_of_request = IceLastSentSequenceNumber(d->iceConn);
@@ -1925,8 +1914,5 @@ bool DCOPClient::callInternal(const QCSt
}
if (!d->iceConn)
- {
- DCOPClient_PendingCalls->remove(DCOPClient_PendingCalls->first());
return false;
- }
if( replyStruct->transactionId != -1 )
@@ -1944,5 +1930,4 @@ bool DCOPClient::callInternal(const QCSt
detach();
d->currentKey = oldCurrentKey;
- DCOPClient_PendingCalls->remove(DCOPClient_PendingCalls->first());
return false;
}
@@ -1980,6 +1965,4 @@ bool DCOPClient::callInternal(const QCSt
}
- DCOPClient_PendingCalls->remove(DCOPClient_PendingCalls->first());
-
// Wake up parent call, maybe it's reply is available already.
if ( d->non_blocking_call_lock ) {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic