From 3d06e95b84c6602c46093bf5253c50ddc2786457 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Sat, 15 Aug 2009 10:59:49 +0200 Subject: [PATCH] Restrict acquire to one job at a time --- bacula/src/stored/acquire.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bacula/src/stored/acquire.c b/bacula/src/stored/acquire.c index b15c954daa..2cacabcecb 100644 --- a/bacula/src/stored/acquire.c +++ b/bacula/src/stored/acquire.c @@ -333,6 +333,7 @@ get_out: return ok; } +static pthread_mutex_t acquire_lock = PTHREAD_MUTEX_INITIALIZER; /* * Acquire device for writing. We permit multiple writers. @@ -352,6 +353,7 @@ DCR *acquire_device_for_append(DCR *dcr) init_device_wait_timers(dcr); + P(acquire_lock); /* only one job at a time */ dev->dlock(); Dmsg1(100, "acquire_append device is %s\n", dev->is_tape()?"tape": (dev->is_dvd()?"DVD":"disk")); @@ -421,6 +423,7 @@ DCR *acquire_device_for_append(DCR *dcr) get_out: dcr->clear_reserved(); dev->dunlock(); + V(acquire_lock); return ok ? dcr : NULL; } -- 2.39.5