init
This commit is contained in:
51
pg_include/libpq/pqsignal.h
Executable file
51
pg_include/libpq/pqsignal.h
Executable file
@@ -0,0 +1,51 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* pqsignal.h
|
||||
* prototypes for the reliable BSD-style signal(2) routine.
|
||||
*
|
||||
*
|
||||
* Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* src/include/libpq/pqsignal.h
|
||||
*
|
||||
* NOTES
|
||||
* This shouldn't be in libpq, but the monitor and some other
|
||||
* things need it...
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef PQSIGNAL_H
|
||||
#define PQSIGNAL_H
|
||||
|
||||
#include <signal.h>
|
||||
|
||||
#ifdef HAVE_SIGPROCMASK
|
||||
extern sigset_t UnBlockSig,
|
||||
BlockSig,
|
||||
StartupBlockSig;
|
||||
|
||||
#define PG_SETMASK(mask) sigprocmask(SIG_SETMASK, mask, NULL)
|
||||
#else /* not HAVE_SIGPROCMASK */
|
||||
extern int UnBlockSig,
|
||||
BlockSig,
|
||||
StartupBlockSig;
|
||||
|
||||
#ifndef WIN32
|
||||
#define PG_SETMASK(mask) sigsetmask(*((int*)(mask)))
|
||||
#else
|
||||
#define PG_SETMASK(mask) pqsigsetmask(*((int*)(mask)))
|
||||
int pqsigsetmask(int mask);
|
||||
#endif
|
||||
|
||||
#define sigaddset(set, signum) (*(set) |= (sigmask(signum)))
|
||||
#define sigdelset(set, signum) (*(set) &= ~(sigmask(signum)))
|
||||
#endif /* not HAVE_SIGPROCMASK */
|
||||
|
||||
typedef void (*pqsigfunc) (int);
|
||||
|
||||
extern void pqinitmask(void);
|
||||
|
||||
extern pqsigfunc pqsignal(int signo, pqsigfunc func);
|
||||
|
||||
#endif /* PQSIGNAL_H */
|
||||
Reference in New Issue
Block a user