utils: Provide a fallback for sigwaitinfo() if needed

Apparently, not available on Mac OS X 10.10 Yosemite. We don't provide
this on Windows.
This commit is contained in:
Tobias Brunner
2015-11-13 18:24:45 +01:00
parent 1c1f713431
commit ef4279f2e5
4 changed files with 37 additions and 31 deletions
+15 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2008-2014 Tobias Brunner
* Copyright (C) 2008-2015 Tobias Brunner
* Copyright (C) 2008 Martin Willi
* Hochschule fuer Technik Rapperswil
*
@@ -38,6 +38,7 @@
# include <netinet/in.h>
# include <sched.h>
# include <poll.h>
# include <signal.h>
#endif
#include "utils/types.h"
@@ -151,6 +152,19 @@ void utils_deinit();
*/
#define ignore_result(call) { if(call){}; }
#if !defined(HAVE_SIGWAITINFO) && !defined(WIN32)
/**
* Block and wait for a set of signals
*
* We don't replicate the functionality of siginfo_t. If info is not NULL
* -1 is returend and errno is set to EINVAL.
*
* @param set set of signals to wait for
* @param info must be NULL
*/
int sigwaitinfo(const sigset_t *set, void *info);
#endif
/**
* Portable function to wait for SIGINT/SIGTERM (or equivalent).
*/