From 538c881fef87712f1564ab6c4466ccee352a5399 Mon Sep 17 00:00:00 2001 From: Danny Auble <da@llnl.gov> Date: Tue, 17 May 2011 11:23:51 -0700 Subject: [PATCH] BLUEGENE - on an emulated system fixed freeing a block through scontrol --- src/plugins/select/bluegene/bg_core.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/select/bluegene/bg_core.c b/src/plugins/select/bluegene/bg_core.c index 38b0360de6e..72b9f164e6a 100644 --- a/src/plugins/select/bluegene/bg_core.c +++ b/src/plugins/select/bluegene/bg_core.c @@ -406,16 +406,19 @@ extern int bg_free_block(bg_record_t *bg_record, bool wait, bool locked) /* Fake a free since we are n deallocating state before this. */ - if (bg_record->state & BG_BLOCK_ERROR_FLAG) + if (bg_record->state & BG_BLOCK_ERROR_FLAG) { + /* This will set the state to ERROR(Free) + * just incase the state was ERROR(SOMETHING ELSE) */ + bg_record->state = BG_BLOCK_ERROR_FLAG; break; - else if (count >= 3) + } else if (count >= 3) bg_record->state = BG_BLOCK_FREE; else if (bg_record->state != BG_BLOCK_FREE) bg_record->state = BG_BLOCK_TERM; #endif if (!wait || (bg_record->state == BG_BLOCK_FREE) -#ifdef HAVE_BGL +#ifndef HAVE_BGL || (bg_record->state & BG_BLOCK_ERROR_FLAG) #endif ) { -- GitLab