From: Ted Lemon Date: Thu, 9 Sep 1999 21:08:28 +0000 (+0000) Subject: Strip the waiter from its object after the wait completes! X-Git-Tag: V3-BETA-1-PATCH-2~5^2~102 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=727ebc3a1585ed647de30c5882a70f325df7c086;p=thirdparty%2Fdhcp.git Strip the waiter from its object after the wait completes! --- diff --git a/omapip/dispatch.c b/omapip/dispatch.c index b7a666fd6..ea2387006 100644 --- a/omapip/dispatch.c +++ b/omapip/dispatch.c @@ -142,6 +142,23 @@ isc_result_t omapi_wait_for_completion (omapi_object_t *object, return status; } while (!waiter || !waiter -> ready); + if (waiter -> outer) { + if (waiter -> outer -> inner) { + omapi_object_dereference (&waiter -> outer -> inner, + "omapi_wait_for_completion"); + if (waiter -> inner) + omapi_object_reference + (&waiter -> outer -> inner, + waiter -> inner, + "omapi_wait_for_completion"); + } + omapi_object_dereference (&waiter -> outer, + "omapi_wait_for_completion"); + } + if (waiter -> inner) + omapi_object_dereference (&waiter -> inner, + "omapi_wait_for_completion"); + omapi_object_dereference ((omapi_object_t **)&waiter, "omapi_wait_for_completion"); return ISC_R_SUCCESS;