YARP
Yet Another Robot Platform
PlatformSignal.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 #ifndef YARP_OS_IMPL_PLATFORMSIGNAL_H
7 #define YARP_OS_IMPL_PLATFORMSIGNAL_H
8 
9 #include <yarp/conf/system.h>
10 #ifdef YARP_HAS_ACE
11 # include <ace/OS_NS_signal.h>
12 // In one the ACE headers there is a definition of "main" for WIN32
13 # ifdef main
14 # undef main
15 # endif
16 #elif defined(YARP_HAS_SIGNAL_H)
17 # include <signal.h>
18 #elif defined(YARP_HAS_SYS_SIGNAL_H)
19 # include <sys/signal.h>
20 #endif
21 #if defined(YARP_HAS_CSIGNAL)
22 # include <csignal>
23 #endif
24 
25 namespace yarp {
26 namespace os {
27 namespace impl {
28 
29 #if defined(YARP_HAS_ACE)
30 using ACE_OS::kill;
31 using ACE_OS::sigaction;
32 using ACE_OS::sigemptyset;
33 using ACE_OS::sigfillset;
34 # if defined(YARP_HAS_CSIGNAL)
35 // Prefer std::signal over ::signal
36 using std::raise;
37 using std::signal;
38 # else
39 using ::raise;
40 using ::signal;
41 # endif
42 #else
43 # if defined(__APPLE__) && defined(sigfillset)
44 # undef sigfillset
45 # endif
46 using ::kill;
47 using ::sigaction;
48 using ::sigemptyset;
49 using ::sigfillset;
50 # if defined(YARP_HAS_CSIGNAL)
51 // Prefer std::signal over ::signal
52 using std::raise;
53 using std::signal;
54 # else
55 using ::raise;
56 using ::signal;
57 # endif
58 #endif
59 
60 } // namespace impl
61 } // namespace os
62 } // namespace yarp
63 
64 
65 #endif // YARP_OS_IMPL_PLATFORMSIGNAL_H
The main, catch-all namespace for YARP.
Definition: dirs.h:16