From 42a280f50daf6e4dc65873150c4738aacf2c3a86 Mon Sep 17 00:00:00 2001 From: Ben Kaduk Date: Wed, 19 May 2010 01:44:44 -0400 Subject: [PATCH] Do not sleep in FBSD's getevent() Calling osi_AllocSmallSpace drops the glock, which allows a race condition that caused a rather fast deadlock on multiprocessor systems. Use afs_osi_Alloc_NoSleep instead. Change-Id: I9a328567a31fe0e4f77e7548fed31b7e4ff36f50 Reviewed-on: http://gerrit.openafs.org/1989 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/afs/FBSD/osi_sleep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/afs/FBSD/osi_sleep.c b/src/afs/FBSD/osi_sleep.c index 107a2b8f2..926e96237 100644 --- a/src/afs/FBSD/osi_sleep.c +++ b/src/afs/FBSD/osi_sleep.c @@ -114,7 +114,7 @@ afs_getevent(char *event) evp = evp->next; } if (!newp) { - newp = (afs_event_t *) osi_AllocSmallSpace(sizeof(afs_event_t)); + newp = (afs_event_t *) afs_osi_Alloc_NoSleep(sizeof(afs_event_t)); afs_evhashcnt++; newp->next = afs_evhasht[hashcode]; afs_evhasht[hashcode] = newp; -- 2.39.5