[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