Commit d82a4aff authored by Eric Wong's avatar Eric Wong

utils: pthread_{mutex,cond}_init can fail, so check for it

git-svn-id: https://svn.musicpd.org/mpd/trunk@7394 09075e82-0dd4-0310-85a5-a0d7c8717e4f
parent 2a5dcba5
...@@ -241,6 +241,20 @@ void init_async_pipe(int file_des[2]) ...@@ -241,6 +241,20 @@ void init_async_pipe(int file_des[2])
FATAL("Couldn't set non-blocking I/O: %s\n", strerror(errno)); FATAL("Couldn't set non-blocking I/O: %s\n", strerror(errno));
} }
void xpthread_mutex_init(pthread_mutex_t *m, const pthread_mutexattr_t *a)
{
int err;
if ((err = pthread_mutex_init(m, a)))
FATAL("failed to init mutex: %s\n", strerror(err));
}
void xpthread_cond_init(pthread_cond_t *c, pthread_condattr_t *a)
{
int err;
if ((err = pthread_cond_init(c, a)))
FATAL("failed to init cond: %s\n", strerror(err));
}
void xpthread_mutex_destroy(pthread_mutex_t *mutex) void xpthread_mutex_destroy(pthread_mutex_t *mutex)
{ {
int err; int err;
......
...@@ -82,6 +82,10 @@ int set_nonblocking(int fd); ...@@ -82,6 +82,10 @@ int set_nonblocking(int fd);
void init_async_pipe(int file_des[2]); void init_async_pipe(int file_des[2]);
void xpthread_mutex_init(pthread_mutex_t *m, const pthread_mutexattr_t *a);
void xpthread_cond_init(pthread_cond_t *c, pthread_condattr_t *a);
void xpthread_mutex_destroy(pthread_mutex_t *mutex); void xpthread_mutex_destroy(pthread_mutex_t *mutex);
void xpthread_cond_destroy(pthread_cond_t *cond); void xpthread_cond_destroy(pthread_cond_t *cond);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment