[all] Removed call to getppid in SendPostmasterSignal, replacing with a

PostmasterPid variable, which gets set (early) in PostmasterMain
getppid would not be the postmaster?

[fork/exec] Implements processCancelRequest by keeping an array of

pid/cancel_key structs in shared mem

[fork/exec] Moves AttachSharedMemoryAndSemaphores call for backends into
SubPostmasterMain

[win32] Implements reaper/waitpid by keeping an arrays of children
pids,handles in postmaster local mem
      - this item is largely untested, for reasons which should be
obvious, but appears sound

[win32/all] Added extern for pgpipe in Win32 case, and changed the second
pipe call (which seems to have been missed earlier) to pgpipe

[win32] #define'd ftruncate to chsize in the Win32 case

[win32] PG_USLEEP for Win32 has a misplaced paren. Fixed.

[win32] DLLIMPORT handling for MingW case


Claudio Natoli
This commit is contained in:
Bruce Momjian
2004-01-26 22:59:54 +00:00
parent ede3b762a3
commit eec08b95e7
8 changed files with 266 additions and 40 deletions

View File

@ -12,7 +12,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/miscadmin.h,v 1.147 2004/01/26 22:54:57 momjian Exp $
* $PostgreSQL: pgsql/src/include/miscadmin.h,v 1.148 2004/01/26 22:59:53 momjian Exp $
*
* NOTES
* some of the information in this file should be moved to
@ -109,10 +109,14 @@ do { \
#else
#define PG_USLEEP(_usec) \
do { \
Sleep(_usec < 500) ? 1 : (_usec+500)/ 1000); \
Sleep((_usec) < 500 ? 1 : ((_usec)+500)/ 1000); \
} while(0)
#endif
#ifdef WIN32
#define ftruncate(a,b) chsize(a,b)
#endif
/*****************************************************************************
* globals.h -- *
*****************************************************************************/
@ -132,6 +136,7 @@ extern void ClosePostmasterPorts(bool pgstat_too);
/*
* from utils/init/globals.c
*/
extern pid_t PostmasterPid;
extern bool IsPostmasterEnvironment;
extern bool IsUnderPostmaster;

View File

@ -1,4 +1,4 @@
/* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.15 2004/01/26 22:54:58 momjian Exp $ */
/* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.16 2004/01/26 22:59:54 momjian Exp $ */
/* undefine and redefine after #include */
#undef mkdir
@ -15,7 +15,7 @@
#define NOFILE 100
/* defines for dynamic linking on Win32 platform */
#ifdef __CYGWIN__
#if defined(__CYGWIN__) || defined(__MINGW32__)
#if __GNUC__ && ! defined (__declspec)
#error You need egcs 1.1 or newer for compiling!
@ -27,7 +27,7 @@
#define DLLIMPORT __declspec (dllimport)
#endif
#elif defined(WIN32) && defined(_MSC_VER) /* not CYGWIN */
#elif defined(WIN32) && defined(_MSC_VER) /* not CYGWIN or MingW */
#if defined(_DLL)
#define DLLIMPORT __declspec (dllexport)
@ -35,7 +35,7 @@
#define DLLIMPORT __declspec (dllimport)
#endif
#else /* not CYGWIN, not MSVC */
#else /* not CYGWIN, not MSVC, not MingW */
#define DLLIMPORT
#endif