summaryrefslogtreecommitdiff
path: root/src/queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/queue.c')
-rw-r--r--src/queue.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/queue.c b/src/queue.c
index 202f7423d65f0..a323301fd62be 100644
--- a/src/queue.c
+++ b/src/queue.c
@@ -6733,11 +6733,12 @@ upd_qs(e, count, space, where)
if (QSHM_ENTRIES(idx) >= 0 && count != 0)
{
# if _FFR_USE_SEM_LOCKING
- r = sm_sem_acq(SemId, 0, 1);
+ if (SemId >= 0)
+ r = sm_sem_acq(SemId, 0, 1);
# endif /* _FFR_USE_SEM_LOCKING */
QSHM_ENTRIES(idx) += count;
# if _FFR_USE_SEM_LOCKING
- if (r >= 0)
+ if (SemId >= 0 && r >= 0)
r = sm_sem_rel(SemId, 0, 1);
# endif /* _FFR_USE_SEM_LOCKING */
}