diff --git a/src/ca/access.cpp b/src/ca/access.cpp index ea6b30d6f..1aa799ae0 100644 --- a/src/ca/access.cpp +++ b/src/ca/access.cpp @@ -769,16 +769,16 @@ cac::~cac () LOCK (this); piiu = (tcpiiu *) ellFirst (&this->ca_iiuList); if (piiu) { - semBinaryId id = piiu->recvThreadExitSignal; + id = piiu->recvThreadExitSignal; initiateShutdownTCPIIU (piiu); } UNLOCK (this); - if (!piiu) { - break; + if (piiu) { + semBinaryTake (id); } else { - semBinaryTake (id); + break; } }