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 else
{ {
ret = sem_getvalue(&barrier->sem, &semcount); ret = nxsem_get_value(&barrier->sem, &semcount);
if (ret != OK) if (ret < 0)
{ {
return ret; return -ret;
} }
if (semcount < 0) if (semcount < 0)
@@ -83,7 +83,7 @@ int pthread_barrier_destroy(FAR pthread_barrier_t *barrier)
return EBUSY; return EBUSY;
} }
sem_destroy(&barrier->sem); ret = -nxsem_destroy(&barrier->sem);
barrier->count = 0; barrier->count = 0;
} }