From 54e06e0f548913425b55b3c7d707c4959a11e470 Mon Sep 17 00:00:00 2001
From: Morris Jette <jette@schedmd.com>
Date: Tue, 10 Apr 2012 08:40:00 -0700
Subject: [PATCH] Revert d53b7c26bbbe33d1d9c96043592b3c6d3c87866c

---
 .../slurmdbd/accounting_storage_slurmdbd.c                 | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c b/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c
index abed4a50c9e..6db61dc42ef 100644
--- a/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c
+++ b/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c
@@ -202,6 +202,9 @@ 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 };
@@ -232,7 +235,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_write_lock);
+		lock_slurmctld(job_read_lock);	/* USE READ LOCK, SEE ABOVE */
 		itr = list_iterator_create(job_list);
 		while ((job_ptr = list_next(itr))) {
 			if (!job_ptr->db_index) {
@@ -272,7 +275,7 @@ static void *_set_db_inx_thread(void *no_data)
 			}
 		}
 		list_iterator_destroy(itr);
-		unlock_slurmctld(job_write_lock);
+		unlock_slurmctld(job_read_lock);
 
 		if (local_job_list) {
 			slurmdbd_msg_t req, resp;
-- 
GitLab