Clarify thread-safety comment for FlagSaver.

Tested:
blaze test base:commandlineflags_unittest

R=csilvers
DELTA=4  (3 added, 0 deleted, 1 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=3791


git-svn-id: http://gflags.googlecode.com/svn/trunk/src@71 6586e3c6-dcc4-952a-343f-ff74eb82781d
diff --git a/gflags/gflags.h.in b/gflags/gflags.h.in
index 4b11bad..c58beee 100644
--- a/gflags/gflags.h.in
+++ b/gflags/gflags.h.in
@@ -267,7 +267,10 @@
 // usage example above, the compiler would complain that it's an
 // unused variable.
 //
-// This class is thread-safe.
+// This class is thread-safe.  However, its destructor writes to
+// exactly the set of flags that have changed value during its
+// lifetime, so concurrent _direct_ access to those flags
+// (i.e. FLAGS_foo instead of {Get,Set}CommandLineOption()) is unsafe.
 
 class GFLAGS_DLL_DECL FlagSaver {
  public:
diff --git a/windows/gflags/gflags.h b/windows/gflags/gflags.h
index 0c3a22e..8b70a37 100644
--- a/windows/gflags/gflags.h
+++ b/windows/gflags/gflags.h
@@ -271,7 +271,10 @@
 // usage example above, the compiler would complain that it's an
 // unused variable.
 //
-// This class is thread-safe.
+// This class is thread-safe.  However, its destructor writes to
+// exactly the set of flags that have changed value during its
+// lifetime, so concurrent _direct_ access to those flags
+// (i.e. FLAGS_foo instead of {Get,Set}CommandLineOption()) is unsafe.
 
 class GFLAGS_DLL_DECL FlagSaver {
  public: