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
-28
View File
@@ -21,8 +21,6 @@
#ifndef ANDROID_H_
#define ANDROID_H_
#include <android/api-level.h>
/* stuff defined in AndroidConfig.h, which is included using the -include
* command-line option, thus cannot be undefined using -U CFLAGS options.
* the reason we have to undefine these flags in the first place, is that
@@ -30,30 +28,4 @@
* actually defined. */
#undef HAVE_BACKTRACE
/* sigwaitinfo() is not defined up to this API level, provide a fallback */
#if __ANDROID_API__ <= 21
#include <errno.h>
#include <signal.h>
static inline int sigwaitinfo(const sigset_t *set, void *info)
{
int sig, err;
if (info)
{ /* we don't replicate siginfo_t, which we don't use */
errno = EINVAL;
return -1;
}
err = sigwait(set, &sig);
if (err != 0)
{
errno = err;
sig = -1;
}
return sig;
}
#else
#error Check availability of sigwaitinfo() in this API level
#endif
#endif /** ANDROID_H_ @}*/