summaryrefslogtreecommitdiff
path: root/usr/src/cmd/filebench/common/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/filebench/common/misc.c')
-rw-r--r--usr/src/cmd/filebench/common/misc.c7
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");
}