From 91677241184ab1aa77adadd612fa069d084863ec Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 14 May 2022 18:54:32 +0100 Subject: [PATCH] scan: Remove condition variable This was copied in from the readahead filter code, but is not actually needed in this filter because it never has to sleep waiting for a command. Fixes: commit 65c20a09ceacb4431986a2982f2c2e746df63fcb (cherry picked from commit 43ad586698347997cdfa1bd56bfed0292f89f134) --- filters/scan/scan.c | 6 ------ filters/scan/scan.h | 1 - 2 files changed, 7 deletions(-) diff --git a/filters/scan/scan.c b/filters/scan/scan.c index ac5b18d2..8a966577 100644 --- a/filters/scan/scan.c +++ b/filters/scan/scan.c @@ -136,9 +136,6 @@ send_command_to_background_thread (struct bgthread_ctrl *ctrl, ACQUIRE_LOCK_FOR_CURRENT_SCOPE (&ctrl->lock); if (command_queue_append (&ctrl->cmds, cmd) == -1) return -1; - /* Signal the thread if it could be sleeping on an empty queue. */ - if (ctrl->cmds.len == 1) - pthread_cond_signal (&ctrl->cond); return 0; } @@ -199,13 +196,11 @@ scan_prepare (nbdkit_next *next, void *handle, int readonly) /* Create the background thread. */ h->ctrl.cmds = (command_queue) empty_vector; pthread_mutex_init (&h->ctrl.lock, NULL); - pthread_cond_init (&h->ctrl.cond, NULL); err = pthread_create (&h->thread, NULL, scan_thread, &h->ctrl); if (err != 0) { errno = err; nbdkit_error ("pthread_create: %m"); - pthread_cond_destroy (&h->ctrl.cond); pthread_mutex_destroy (&h->ctrl.lock); return -1; } @@ -227,7 +222,6 @@ scan_finalize (nbdkit_next *next, void *handle) send_command_to_background_thread (&h->ctrl, quit_cmd); pthread_join (h->thread, NULL); - pthread_cond_destroy (&h->ctrl.cond); pthread_mutex_destroy (&h->ctrl.lock); command_queue_reset (&h->ctrl.cmds); h->running = false; diff --git a/filters/scan/scan.h b/filters/scan/scan.h index 7ff39310..98c0228b 100644 --- a/filters/scan/scan.h +++ b/filters/scan/scan.h @@ -54,7 +54,6 @@ DEFINE_VECTOR_TYPE(command_queue, struct command); struct bgthread_ctrl { command_queue cmds; /* Command queue. */ pthread_mutex_t lock; /* Lock for queue. */ - pthread_cond_t cond; /* Condition queue size 0 -> 1. */ nbdkit_next *next; /* For sending cache operations. */ }; -- 2.31.1