From d3dba23aeda3a32e05e2202395024f32eb246180 Mon Sep 17 00:00:00 2001 From: Jon Meredith Date: Thu, 12 Feb 2009 11:19:51 -0700 Subject: [PATCH] Moved zero-ing of async_pool/job inside mutex to avoid risk of race in bdberl_drv_stop. --- c_src/bdberl_drv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/c_src/bdberl_drv.c b/c_src/bdberl_drv.c index 39fb512..3b618f4 100644 --- a/c_src/bdberl_drv.c +++ b/c_src/bdberl_drv.c @@ -906,10 +906,10 @@ static void tune_system(int target, void* values, BinHelper* bh) static void async_cleanup(PortData* d) { // Release the port for another operation - d->async_pool = 0; - d->async_job = 0; d->work_buffer_offset = 0; erl_drv_mutex_lock(d->port_lock); + d->async_pool = 0; + d->async_job = 0; d->async_op = CMD_NONE; erl_drv_mutex_unlock(d->port_lock); }