summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGedare Bloom <gedare@rtems.org>2012-05-13 10:40:10 -0400
committerGedare Bloom <gedare@rtems.org>2012-05-13 10:40:10 -0400
commit2b36355b44e004c78872508a28f176fc1b146451 (patch)
tree9f30b56cf687005e0bb17874c93154f4880fd46b
parentpsxtests - Eliminate missing prototype warnings (diff)
downloadrtems-2b36355b44e004c78872508a28f176fc1b146451.tar.bz2
PR2065: RBTree: Insert function (protected) does not enable interrupts
Save the return value from the unprotected version and return it after enabling interrupts to their previous level.
-rw-r--r--cpukit/score/src/rbtreeinsert.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpukit/score/src/rbtreeinsert.c b/cpukit/score/src/rbtreeinsert.c
index 878973427d..57a36b8a1c 100644
--- a/cpukit/score/src/rbtreeinsert.c
+++ b/cpukit/score/src/rbtreeinsert.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010 Gedare Bloom.
+ * Copyright (c) 2010-2012 Gedare Bloom.
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
@@ -148,8 +148,10 @@ RBTree_Node *_RBTree_Insert(
)
{
ISR_Level level;
+ RBTree_Node *return_node;
_ISR_Disable( level );
- return _RBTree_Insert_unprotected( tree, node );
+ return_node = _RBTree_Insert_unprotected( tree, node );
_ISR_Enable( level );
+ return return_node;
}