123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #include <endian.h>
- #include <errno.h>
- #include <sysdep.h>
- #include <lowlevellock.h>
- #include <pthread.h>
- #include <pthreadP.h>
- #include <bits/kernel-features.h>
- int
- __pthread_cond_signal (pthread_cond_t *cond)
- {
-
- lll_mutex_lock (cond->__data.__lock);
-
- if (cond->__data.__total_seq > cond->__data.__wakeup_seq)
- {
-
- ++cond->__data.__wakeup_seq;
- ++cond->__data.__futex;
-
- lll_futex_wake (&cond->__data.__futex, 1);
- }
-
- lll_mutex_unlock (cond->__data.__lock);
- return 0;
- }
- weak_alias(__pthread_cond_signal, pthread_cond_signal)
|