diff options
Diffstat (limited to 'usr/src/cmd/filebench/common/misc.c')
-rw-r--r-- | usr/src/cmd/filebench/common/misc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/usr/src/cmd/filebench/common/misc.c b/usr/src/cmd/filebench/common/misc.c index 6f2eb4db2f..1b5c2868a4 100644 --- a/usr/src/cmd/filebench/common/misc.c +++ b/usr/src/cmd/filebench/common/misc.c @@ -336,7 +336,14 @@ filebench_shutdown(int error) { if (error) { filebench_log(LOG_DEBUG_IMPL, "Shutdown on error"); + (void) ipc_mutex_lock(&filebench_shm->shm_procflow_lock); + if (filebench_shm->shm_f_abort == FILEBENCH_ABORT_FINI) { + (void) ipc_mutex_unlock( + &filebench_shm->shm_procflow_lock); + return; + } filebench_shm->shm_f_abort = FILEBENCH_ABORT_ERROR; + (void) ipc_mutex_unlock(&filebench_shm->shm_procflow_lock); } else { filebench_log(LOG_DEBUG_IMPL, "Shutdown"); } |