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
This commit is contained in:
Eric Wong 2008-06-30 02:43:17 +00:00
parent 2a5dcba5ed
commit d82a4aff25
2 changed files with 18 additions and 0 deletions

View File

@ -241,6 +241,20 @@ void init_async_pipe(int file_des[2])
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)
{
int err;

View File

@ -82,6 +82,10 @@ int set_nonblocking(int fd);
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_cond_destroy(pthread_cond_t *cond);