--- src/lib/omniORB/orbcore/giopServer.cc 2009-05-06 18:16:18.000000000 +0200 +++ /afs/cern.ch/user/k/kolos/omniORB-4.1.6/src/lib/omniORB/orbcore/giopServer.cc 2012-10-26 15:04:10.000000000 +0200 @@ -525,7 +525,6 @@ pd_lock.lock(); continue; } - task->insert(cs->workers); cs->connection->pd_n_workers++; pd_n_dedicated_workers++; } @@ -727,7 +726,6 @@ // Start a worker to notice the connection closure. giopWorker* task = new giopWorker((*head)->strand, this, 1); orbAsyncInvoker->insert(task); - task->insert((*head)->workers); ++(*head)->connection->pd_n_workers; ++pd_n_temporary_workers; ++closed_count; @@ -819,7 +817,6 @@ giopServer:: connectionState::~connectionState() { - OMNIORB_ASSERT(Link::is_empty(workers)); omni_tracedmutex_lock sync(*omniTransportLock); strand->deleteStrandAndConnection(); } @@ -991,7 +988,6 @@ throw outOfResource(); } - task->insert(cs->workers); conn->pd_n_workers++; pd_n_dedicated_workers++; } @@ -1107,7 +1103,6 @@ // Should never happen OMNIORB_ASSERT(0); } - task->insert(cs->workers); conn->pd_n_workers++; pd_n_temporary_workers++; break; @@ -1169,7 +1164,7 @@ conn->pd_n_workers--; - if (Link::is_empty(cs->workers)) { + if (workers == 0) { csRemove(conn); cs_removed = 1; }