+1636. [bug] The dump done callback could get ISC_R_SUCCESS even if
+ a error had occured. The database version no longer
+ matched the version of the database that was dumped.
+
1635. [bug] Memory leak on error in query_addds().
1634. [placeholder] rt11208
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: masterdump.c,v 1.73 2004/03/05 05:09:21 marka Exp $ */
+/* $Id: masterdump.c,v 1.74 2004/05/14 00:55:57 marka Exp $ */
#include <config.h>
static void
dump_quantum(isc_task_t *task, isc_event_t *event) {
isc_result_t result;
+ isc_result_t tresult;
dns_dumpctx_t *dctx;
REQUIRE(event != NULL);
return;
}
- if (dctx->file != NULL)
- result = closeandrename(dctx->f, result,
- dctx->tmpfile, dctx->file);
- if (dctx->version != NULL)
- dns_db_closeversion(dctx->db, &dctx->version, ISC_FALSE);
+ if (dctx->file != NULL) {
+ tresult = closeandrename(dctx->f, result,
+ dctx->tmpfile, dctx->file);
+ if (tresult != ISC_R_SUCCESS && result == ISC_R_SUCCESS)
+ result = tresult;
+ }
(dctx->done)(dctx->done_arg, result);
isc_event_free(&event);
dns_dumpctx_detach(&dctx);