summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog10
-rw-r--r--winsup/cygwin/cygprops.h3
-rw-r--r--winsup/cygwin/globals.cc30
-rwxr-xr-xwinsup/cygwin/mkglobals_h4
-rw-r--r--winsup/cygwin/winsup.h8
5 files changed, 33 insertions, 22 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 8430abdae..60fe14d03 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,13 @@
+2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
+
+ * cygprops.h: Use #pragma once.
+ * mkglobals_h: Ditto for generated globals.h file.
+ * globals.cc: Use specific NO_GLOBALS_H flag to control inclusion of
+ globals.h.
+ * winsup.h: Honor NO_GLOBALS_H to control inclusion of globals.h. Make
+ clear_procimptoken extern inline so that it is only defined when
+ needed.
+
2012-03-19 Corinna Vinschen <corinna@vinschen.de>
* thread.cc (cancelable_wait): Don't malloc tbi, just make it a struct
diff --git a/winsup/cygwin/cygprops.h b/winsup/cygwin/cygprops.h
index fa367bc5b..70ea3cc5a 100644
--- a/winsup/cygwin/cygprops.h
+++ b/winsup/cygwin/cygprops.h
@@ -1,6 +1,6 @@
/* cygprops.h: Cygwin DLL properties
- Copyright 2009 Red Hat, Inc.
+ Copyright 2009, 2012 Red Hat, Inc.
This file is part of Cygwin.
@@ -8,6 +8,7 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
+#pragma once
/* DLL properties data. */
struct cygwin_props_t
{
diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc
index 0135cf3f3..395291dc8 100644
--- a/winsup/cygwin/globals.cc
+++ b/winsup/cygwin/globals.cc
@@ -9,7 +9,7 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#define _GLOBALS_H 1
+#define NO_GLOBALS_H
#include "winsup.h"
#include "cygtls.h"
#include "perprocess.h"
@@ -31,20 +31,20 @@ UINT system_wow64_directory_length;
/* program exit the program */
enum exit_states
- {
- ES_NOT_EXITING = 0,
- ES_EXIT_STARTING,
- ES_PROCESS_LOCKED,
- ES_EVENTS_TERMINATE,
- ES_SIGNAL,
- ES_CLOSEALL,
- ES_THREADTERM,
- ES_HUP_PGRP,
- ES_HUP_SID,
- ES_EXEC_EXIT,
- ES_TTY_TERMINATE,
- ES_FINAL
- };
+{
+ ES_NOT_EXITING = 0,
+ ES_EXIT_STARTING,
+ ES_PROCESS_LOCKED,
+ ES_EVENTS_TERMINATE,
+ ES_SIGNAL,
+ ES_CLOSEALL,
+ ES_THREADTERM,
+ ES_HUP_PGRP,
+ ES_HUP_SID,
+ ES_EXEC_EXIT,
+ ES_TTY_TERMINATE,
+ ES_FINAL
+};
exit_states NO_COPY exit_state;
diff --git a/winsup/cygwin/mkglobals_h b/winsup/cygwin/mkglobals_h
index 1e409e01f..ea4a582f4 100755
--- a/winsup/cygwin/mkglobals_h
+++ b/winsup/cygwin/mkglobals_h
@@ -14,10 +14,10 @@ s/-NL-/\n/sog;
s/-EQ-/=/sog;
s/\s+\n/\n/sog;
s/\n{2,}/\n/sog;
-print <<PRELUDE,$_,"#endif /*_GLOBALS_H*/\n";
+print <<PRELUDE,$_;
/* $target - Autogenerated from @argv. Look there for comments. */
-#ifndef _GLOBALS_H
+#pragma once
PRELUDE
close $target_fd;
sub munge($) {
diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h
index c2f015148..ddbe360e4 100644
--- a/winsup/cygwin/winsup.h
+++ b/winsup/cygwin/winsup.h
@@ -298,9 +298,10 @@ extern "C" char _data_start__, _data_end__, _bss_start__, _bss_end__;
extern "C" void (*__CTOR_LIST__) (void);
extern "C" void (*__DTOR_LIST__) (void);
-#if !defined(_GLOBALS_H)
+#ifndef NO_GLOBALS_H
#include "globals.h"
-inline void clear_procimptoken ()
+
+extern inline void clear_procimptoken ()
{
if (hProcImpToken)
{
@@ -309,6 +310,5 @@ inline void clear_procimptoken ()
CloseHandle (old_procimp);
}
}
-#endif
-
+#endif /*NO_GLOBALS_H*/
#endif /* defined __cplusplus */