]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/time.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / time.h
index d6ff8ba04ecbeeb61fcc991b9f492c0ca6823c66..644422392f606a77d6a988e4e2d9c18a083b8f95 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     Miscellaneous time-related functions.
 // Author:      Vadim Zeitlin
 // Created:     2011-11-26
-// RCS-ID:      $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $
 // Copyright:   (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -53,4 +52,25 @@ wxLongLong WXDLLIMPEXP_BASE wxGetUTCTimeUSec();
     #endif
 #endif // HAVE_GETTIMEOFDAY
 
+/* Two wrapper functions for thread safety */
+#ifdef HAVE_LOCALTIME_R
+#define wxLocaltime_r localtime_r
+#else
+WXDLLIMPEXP_BASE struct tm *wxLocaltime_r(const time_t*, struct tm*);
+#if wxUSE_THREADS && !defined(__WINDOWS__) && !defined(__WATCOMC__)
+     // On Windows, localtime _is_ threadsafe!
+#warning using pseudo thread-safe wrapper for localtime to emulate localtime_r
+#endif
+#endif
+
+#ifdef HAVE_GMTIME_R
+#define wxGmtime_r gmtime_r
+#else
+WXDLLIMPEXP_BASE struct tm *wxGmtime_r(const time_t*, struct tm*);
+#if wxUSE_THREADS && !defined(__WINDOWS__) && !defined(__WATCOMC__)
+     // On Windows, gmtime _is_ threadsafe!
+#warning using pseudo thread-safe wrapper for gmtime to emulate gmtime_r
+#endif
+#endif
+
 #endif // _WX_TIME_H_