diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index d72d99bda..cf73286e2 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2010-06-12 Christopher Faylor + + * times.cc (gtod): Move to sharable region. + 2010-06-09 Corinna Vinschen * path.cc (symlink_info::check_shortcut): Use ro_u_empty rather than diff --git a/winsup/cygwin/times.cc b/winsup/cygwin/times.cc index f6f23bbbb..3b154164c 100644 --- a/winsup/cygwin/times.cc +++ b/winsup/cygwin/times.cc @@ -28,7 +28,13 @@ details. */ #define FACTOR (0x19db1ded53e8000LL) #define NSPERSEC 10000000LL -hires_ms NO_COPY gtod; +/* TODO: Putting this variable in the shared cygwin region partially solves + the problem of cygwin processes not recognizing date changes when other + cygwin processes set the date. There is still an additional problem of + long-running cygwin processes becoming confused when a non-cygwin process + sets the date. Unfortunately, it looks like a minor redesign is required + to handle that case. */ +hires_ms gtod __attribute__((section (".cygwin_dll_common"), shared)); static inline LONGLONG systime_ns ()