#pragma weak pthread_mutex_init
#pragma weak pthread_mutex_destroy
#pragma weak pthread_self
+#pragma weak sched_get_priority_max
+#pragma weak sched_get_priority_min
#pragma weak sched_yield
#pragma weak pthread_attr_destroy
#pragma weak pthread_attr_init
return 0;
}
}
- else
- return -1;
+
+ return -1;
}
/* Close the threads subsystem. */
static inline int
__gthread_objc_mutex_lock(objc_mutex_t mutex)
{
- if (__gthread_active_p ())
- return pthread_mutex_lock((pthread_mutex_t *)mutex->backend);
- else
- return 0;
+ if (__gthread_active_p ()
+ && pthread_mutex_lock((pthread_mutex_t *)mutex->backend) != 0)
+ {
+ return -1;
+ }
+
+ return 0;
}
/* Try to grab a lock on a mutex. */
static inline int
__gthread_objc_mutex_trylock(objc_mutex_t mutex)
{
- if (__gthread_active_p ())
- return pthread_mutex_trylock((pthread_mutex_t *)mutex->backend);
- else
- return 0;
+ if (__gthread_active_p ()
+ && pthread_mutex_trylock((pthread_mutex_t *)mutex->backend) != 0)
+ {
+ return -1;
+ }
+
+ return 0;
}
/* Unlock the mutex */
static inline int
__gthread_objc_mutex_unlock(objc_mutex_t mutex)
{
- if (__gthread_active_p ())
- return pthread_mutex_unlock((pthread_mutex_t *)mutex->backend);
- else
- return 0;
+ if (__gthread_active_p ()
+ && pthread_mutex_unlock((pthread_mutex_t *)mutex->backend) != 0)
+ {
+ return -1;
+ }
+
+ return 0;
}
/* Backend condition mutex functions */