summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2008-06-27 16:23:32 +0000
committerMark Michelson <mmichelson@digium.com>2008-06-27 16:23:32 +0000
commit67e2b82951dd07318b476a6c97bf24a42b78669b (patch)
tree09e0c2e23082042c703ccf541dd6e4d4551d4536
parent6d1ebfbed579c686ff6587be1b41ef058cf45727 (diff)
Optimization suggested by Russell to cache the value of pthread_self() so
that it isn't evaluated every time through the loop. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--include/asterisk/lock.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h
index 56f7b03f0..92299f3cd 100644
--- a/include/asterisk/lock.h
+++ b/include/asterisk/lock.h
@@ -1051,8 +1051,9 @@ static inline int _ast_rwlock_unlock(ast_rwlock_t *t, const char *name,
if (lt->reentrancy) {
int lock_found = 0;
int i;
+ pthread_t self = pthread_self();
for (i = lt->reentrancy-1; i >= 0; --i) {
- if (lt->thread[i] == pthread_self()) {
+ if (lt->thread[i] == self) {
lock_found = 1;
if (i != lt->reentrancy-1) {
lt->file[i] = lt->file[lt->reentrancy-1];