diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c
index 0270b0e116534b18f808b81dd7313ac1054a47b7..38f60ebdfa205a8f4e3b55b75359a0d9c3d1f08c 100644
--- a/src/backend/storage/lmgr/proc.c
+++ b/src/backend/storage/lmgr/proc.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.62 1999/10/06 21:58:07 vadim Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.63 1999/10/12 14:54:27 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -46,14 +46,14 @@
  *		This is so that we can support more backends. (system-wide semaphore
  *		sets run out pretty fast.)				  -ay 4/95
  *
- * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.62 1999/10/06 21:58:07 vadim Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.63 1999/10/12 14:54:27 momjian Exp $
  */
 #include <sys/time.h>
 #include <unistd.h>
 #include <signal.h>
 #include <sys/types.h>
 
-#if defined(solaris_sparc)
+#if defined(solaris_sparc) || defined(__CYGWIN__)
 #include <sys/ipc.h>
 #include <sys/sem.h>
 #endif
diff --git a/src/include/port/win.h b/src/include/port/win.h
index 15a89a0e43e2286ee9df4b4ad8cb29c5ec75ddff..61acdb3e21e75b05e9b53eac13f2891896b6db3a 100644
--- a/src/include/port/win.h
+++ b/src/include/port/win.h
@@ -9,3 +9,8 @@ typedef unsigned char slock_t;
 #define tzname _tzname			/* should be in time.h? */
 #define USE_POSIX_TIME
 #define HAVE_INT_TIMEZONE		/* has int _timezone */
+
+#include <cygwin/version.h>
+#if (CYGWIN_VERSION_API_MAJOR >= 0) && (CYGWIN_VERSION_API_MINOR >= 8)
+#define sys_nerr _sys_nerr
+#endif