1/*
2 * Copyright 2005-2011, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT license.
4 *
5 * Author(s):
6 *		J��r��me Duval
7 *		Ingo Weinhold, ingo_weinhold@gmx.de
8 */
9
10
11#include <signal.h>
12
13#include <errno.h>
14#include <pthread.h>
15
16#include <syscall_utils.h>
17
18#include <symbol_versioning.h>
19#include <syscalls.h>
20
21#include <errno_private.h>
22#include <signal_private.h>
23
24
25int
26__sigsuspend_beos(const sigset_t_beos* beosMask)
27{
28	sigset_t mask = from_beos_sigset(*beosMask);
29	return __sigsuspend(&mask);
30}
31
32
33int
34__sigsuspend(const sigset_t* mask)
35{
36	__set_errno(_kern_sigsuspend(mask));
37
38	pthread_testcancel();
39
40	return -1;
41}
42
43
44DEFINE_LIBROOT_KERNEL_SYMBOL_VERSION("__sigsuspend_beos", "sigsuspend@",
45	"BASE");
46
47DEFINE_LIBROOT_KERNEL_SYMBOL_VERSION("__sigsuspend", "sigsuspend@@",
48	"1_ALPHA4");
49