Initial commit: server + serverfiles
This commit is contained in:
Executable
+38
@@ -0,0 +1,38 @@
|
||||
#ifndef __INC_LIBTHECORE_SIGNAL_H__
|
||||
#define __INC_LIBTHECORE_SIGNAL_H__
|
||||
|
||||
/* ### LINUX-BLOCK-BEGIN (signal.h shadow guard) ######################### */
|
||||
#if defined(__linux__) && !defined(_SIGNAL_H)
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Header-shadowing guard (Linux only).
|
||||
*
|
||||
* glibc's <sys/signal.h> is literally one line: "#include <signal.h>". Every
|
||||
* module compiles with -I<...>/libthecore/include, so that bracket include
|
||||
* resolves to *this* file instead of /usr/include/signal.h, and SIGPIPE,
|
||||
* signal(), sigaction() and friends silently disappear. libthecore's own
|
||||
* stdafx.h includes <sys/signal.h>, so this bites signal.c immediately, and
|
||||
* db/src/Main.cpp and libsql/Tellwait.cpp include <signal.h> directly. (It
|
||||
* does not happen on FreeBSD, where <signal.h> includes <sys/signal.h> and not
|
||||
* the other way round, which is why the production build never hit this.)
|
||||
*
|
||||
* Pull the real header in via #include_next, which resumes the search after
|
||||
* the directory this file was found in. _SIGNAL_H is glibc's own guard, so
|
||||
* when the system header already got in first this is a no-op.
|
||||
* ------------------------------------------------------------------------- */
|
||||
#include_next <signal.h>
|
||||
#endif
|
||||
/* ### LINUX-BLOCK-END (signal.h shadow guard) ########################### */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
extern void signal_setup();
|
||||
extern void signal_timer_disable();
|
||||
extern void signal_timer_enable(int timeout_seconds);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user