Fix to Coverity issue 72769
This commit is contained in:
@ -204,16 +204,30 @@ int skygw_rwlock_unlock(
|
|||||||
int skygw_rwlock_destroy(
|
int skygw_rwlock_destroy(
|
||||||
skygw_rwlock_t* rwlock)
|
skygw_rwlock_t* rwlock)
|
||||||
{
|
{
|
||||||
int err = pthread_rwlock_destroy(rwlock->srw_rwlock);
|
int err;
|
||||||
|
/** Lock */
|
||||||
if (err == 0) {
|
if ((err = pthread_rwlock_wrlock(rwlock->srw_rwlock)) != 0)
|
||||||
|
{
|
||||||
|
fprintf(stderr,
|
||||||
|
"* Error : pthread_rwlock_wrlock failed due to %d, %s.\n",
|
||||||
|
err,
|
||||||
|
strerror(err));
|
||||||
|
goto retblock;
|
||||||
|
}
|
||||||
|
/** Clean the struct */
|
||||||
rwlock->srw_rwlock_thr = 0;
|
rwlock->srw_rwlock_thr = 0;
|
||||||
rwlock->srw_rwlock = NULL;
|
rwlock->srw_rwlock = NULL;
|
||||||
} else {
|
/** Unlock */
|
||||||
ss_dfprintf(stderr,
|
pthread_rwlock_unlock(rwlock->srw_rwlock);
|
||||||
"* pthread_rwlock_destroy : %s\n",
|
/** Destroy */
|
||||||
|
if ((err = pthread_rwlock_destroy(rwlock->srw_rwlock)) != 0)
|
||||||
|
{
|
||||||
|
fprintf(stderr,
|
||||||
|
"* Error : pthread_rwlock_destroy failed due to %d,%s\n",
|
||||||
|
err,
|
||||||
strerror(err));
|
strerror(err));
|
||||||
}
|
}
|
||||||
|
retblock:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user