Don't forget to unlock before erroring out.
Coverity-id:
1454843
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
if (wq->next_item == NULL) {
assert(wq->item_count == 0);
ret = pthread_cond_signal(&wq->wakeup);
- if (ret)
- goto out_item;
+ if (ret) {
+ pthread_mutex_unlock(&wq->lock);
+ free(wi);
+ return ret;
+ }
wq->next_item = wi;
} else {
wq->last_item->next = wi;
pthread_mutex_unlock(&wq->lock);
return 0;
-out_item:
- free(wi);
- return ret;
}
/*