From d53b7c26bbbe33d1d9c96043592b3c6d3c87866c Mon Sep 17 00:00:00 2001
From: Morris Jette <jette@schedmd.com>
Date: Tue, 13 Mar 2012 16:22:38 -0700
Subject: [PATCH] Change read lock to write lock

This patch contains the bits of bad_dbtime.diff from CSCS which have
not already been committed
---
 .../slurmdbd/accounting_storage_slurmdbd.c                 | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c b/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c
index 3cac99a561b..abed4a50c9e 100644
--- a/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c
+++ b/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c
@@ -202,9 +202,6 @@ static void *_set_db_inx_thread(void *no_data)
 {
 	struct job_record *job_ptr = NULL;
 	ListIterator itr;
-	/* Read lock on jobs */
-	slurmctld_lock_t job_read_lock =
-		{ NO_LOCK, READ_LOCK, NO_LOCK, NO_LOCK };
 	/* Write lock on jobs */
 	slurmctld_lock_t job_write_lock =
 		{ NO_LOCK, WRITE_LOCK, NO_LOCK, NO_LOCK };
@@ -235,7 +232,7 @@ static void *_set_db_inx_thread(void *no_data)
 		 * job db_index here we use a read lock since the
 		 * data isn't that sensitive and will only be updated
 		 * later in this function. */
-		lock_slurmctld(job_read_lock);
+		lock_slurmctld(job_write_lock);
 		itr = list_iterator_create(job_list);
 		while ((job_ptr = list_next(itr))) {
 			if (!job_ptr->db_index) {
@@ -275,7 +272,7 @@ static void *_set_db_inx_thread(void *no_data)
 			}
 		}
 		list_iterator_destroy(itr);
-		unlock_slurmctld(job_read_lock);
+		unlock_slurmctld(job_write_lock);
 
 		if (local_job_list) {
 			slurmdbd_msg_t req, resp;
-- 
GitLab