Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <
20230520115531.3911877-2-bugaevc@gmail.com>
#include <semaphore.h>
#include <errno.h>
+#include <hurd.h>
#include <pt-internal.h>
int
#endif
)
/* There are threads waiting on *SEM. */
- {
- errno = EBUSY;
- return -1;
- }
+ return __hurd_fail (EBUSY);
return 0;
}
#include <semaphore.h>
#include <errno.h>
+#include <hurd.h>
#include <pt-internal.h>
int
{
#ifdef SEM_VALUE_MAX
if (value > SEM_VALUE_MAX)
- {
- errno = EINVAL;
- return -1;
- }
+ return __hurd_fail (EINVAL);
#endif
struct new_sem *isem = (struct new_sem *) sem;
#include <assert.h>
#include <hurdlock.h>
+#include <hurd.h>
#include <pt-internal.h>
do
{
if ((d & SEM_VALUE_MASK) == SEM_VALUE_MAX)
- {
- errno = EOVERFLOW;
- return -1;
- }
+ return __hurd_fail (EOVERFLOW);
}
while (!atomic_compare_exchange_weak_release (&isem->data, &d, d + 1));
do
{
if ((v >> SEM_VALUE_SHIFT) == SEM_VALUE_MAX)
- {
- errno = EOVERFLOW;
- return -1;
- }
+ return __hurd_fail (EOVERFLOW);
}
while (!atomic_compare_exchange_weak_release
(&isem->value, &v, v + (1 << SEM_VALUE_SHIFT)));
#include <semaphore.h>
#include <errno.h>
+#include <hurd.h>
#include <pt-internal.h>
int
if (__sem_waitfast (isem, 1) == 0)
return 0;
- errno = EAGAIN;
- return -1;
+ return __hurd_fail (EAGAIN);
}
weak_alias (__sem_trywait, sem_trywait);