mirror of
https://github.com/apache/nuttx.git
synced 2026-05-24 16:11:56 +08:00
pthread_barrier_destroy: Fix return value, if sem_getvalue fails
sem_getvalue returns ERROR and sets errno if it fails, we don't want to return OK in this case, we want to return the non-negated error number.
This commit is contained in:
@@ -72,10 +72,10 @@ int pthread_barrier_destroy(FAR pthread_barrier_t *barrier)
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = sem_getvalue(&barrier->sem, &semcount);
|
||||
if (ret != OK)
|
||||
ret = nxsem_get_value(&barrier->sem, &semcount);
|
||||
if (ret < 0)
|
||||
{
|
||||
return ret;
|
||||
return -ret;
|
||||
}
|
||||
|
||||
if (semcount < 0)
|
||||
@@ -83,7 +83,7 @@ int pthread_barrier_destroy(FAR pthread_barrier_t *barrier)
|
||||
return EBUSY;
|
||||
}
|
||||
|
||||
sem_destroy(&barrier->sem);
|
||||
ret = -nxsem_destroy(&barrier->sem);
|
||||
barrier->count = 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user