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:
Ville Juven
2025-01-16 10:39:51 +02:00
committed by Xiang Xiao
parent 516d1c069a
commit 1a9241ca1c
+4 -4
View File
@@ -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;
}