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