(__new_sem_post): Return error if lll_futex_wake failed.
authordrepper <drepper>
Fri, 14 Feb 2003 06:10:07 +0000 (06:10 +0000)
committerdrepper <drepper>
Fri, 14 Feb 2003 06:10:07 +0000 (06:10 +0000)
nptl/sysdeps/unix/sysv/linux/s390/sem_post.c

index 4c26857..df64c03 100644 (file)
@@ -30,9 +30,16 @@ __new_sem_post (sem_t *sem)
 {
   int oldval;
   int newval;
+  int err;
 
   lll_compare_and_swap ((int *) sem, oldval, newval, "lr %2,%1; ahi %2,1");
-  lll_futex_wake ((int *) sem, newval);
+  err = lll_futex_wake(((int *) sem), newval);
+  if (err != 0)
+    {
+      __set_errno(-err);
+      return -1;
+    }
+  return 0;
 }
 versioned_symbol (libpthread, __new_sem_post, sem_post, GLIBC_2_1);
 #if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)