diff options
author | obrien <obrien@FreeBSD.org> | 2003-01-16 07:04:57 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2003-01-16 07:04:57 +0000 |
commit | 8aff4de412d07787b5d5132fa31ed1c1bf8b3232 (patch) | |
tree | 0fa786b8784d9300adeaec9d3f5fec4b00c392f4 /contrib/isc-dhcp/omapip/message.c | |
parent | cd674b5595767251fb09595b775802b0653c0ee9 (diff) | |
parent | 47bdc7b5368b79802e5768b4ac27bc5ec7812650 (diff) | |
download | FreeBSD-src-8aff4de412d07787b5d5132fa31ed1c1bf8b3232.zip FreeBSD-src-8aff4de412d07787b5d5132fa31ed1c1bf8b3232.tar.gz |
This commit was generated by cvs2svn to compensate for changes in r109357,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/isc-dhcp/omapip/message.c')
-rw-r--r-- | contrib/isc-dhcp/omapip/message.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/contrib/isc-dhcp/omapip/message.c b/contrib/isc-dhcp/omapip/message.c index a073669..0e97e15 100644 --- a/contrib/isc-dhcp/omapip/message.c +++ b/contrib/isc-dhcp/omapip/message.c @@ -3,7 +3,7 @@ Subroutines for dealing with message objects. */ /* - * Copyright (c) 1999-2000 Internet Software Consortium. + * Copyright (c) 1999-2003 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -327,6 +327,7 @@ isc_result_t omapi_message_unregister (omapi_object_t *mo) omapi_object_reference ((omapi_object_t **)&n, (omapi_object_t *)m -> next, MDL); omapi_object_dereference ((omapi_object_t **)&m -> next, MDL); + omapi_object_dereference ((omapi_object_t **)&n -> prev, MDL); } if (m -> prev) { omapi_message_object_t *tmp = (omapi_message_object_t *)0; @@ -707,10 +708,12 @@ omapi_message_process_internal (omapi_object_t *mo, omapi_object_t *po) status = omapi_protocol_send_status (po, message -> id_object, ISC_R_SUCCESS, message -> id, (char *)0); - if (m) + if (m) { omapi_signal ((omapi_object_t *)m, "status", ISC_R_SUCCESS, (omapi_typed_data_t *)0); + omapi_message_unregister ((omapi_object_t *)m); + } omapi_object_dereference (&object, MDL); @@ -743,6 +746,9 @@ omapi_message_process_internal (omapi_object_t *mo, omapi_object_t *po) omapi_signal ((omapi_object_t *)m, "status", waitstatus, tv); if (status == ISC_R_SUCCESS) omapi_value_dereference (&tv, MDL); + + omapi_message_unregister((omapi_object_t *)m); + return ISC_R_SUCCESS; case OMAPI_OP_DELETE: |