Use gmtime_r if available as gmtime is not MT-safe.
authorSebastian Dröge <slomo@circular-chaos.org>
Sat, 2 Feb 2008 07:13:15 +0000 (07:13 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Sat, 2 Feb 2008 07:13:15 +0000 (07:13 +0000)
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header):
Use gmtime_r if available as gmtime is not MT-safe.
Fixes bug #511810.

ChangeLog
common
configure.ac
gst-libs/gst/rtsp/gstrtspconnection.c

index 98adc93a92f72c51164c206abdff2df2759ffee4..ae92899bcb0e74701d4523cbb5898c41fbecd0f2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * configure.ac:
+       * gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header):
+       Use gmtime_r if available as gmtime is not MT-safe.
+       Fixes bug #511810.
+
 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
 
        * gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header):
diff --git a/common b/common
index 571dce3335f9be76978009b3842c050dbb900e6f..3c5473161ce19a3530bad279b842d542895b1500 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 571dce3335f9be76978009b3842c050dbb900e6f
+Subproject commit 3c5473161ce19a3530bad279b842d542895b1500
index 6554c4a644220eea8c16a31e3f2360f929366741..4188b60fd116b307e979f3c60dad1da612ac8c83 100644 (file)
@@ -239,7 +239,7 @@ dnl also, Windows does not have long long
 AX_CREATE_STDINT_H
 
 dnl *** checks for functions ***
-AC_CHECK_FUNCS([localtime_r])
+AC_CHECK_FUNCS([localtime_r gmtime_r])
 
 dnl *** checks for types/defines ***
 
index 9da13fa31b4184b81392f452677ca06541502aeb..5f2200af83a6100e7e752fd56f2d1f826bdd0e3f 100644 (file)
@@ -370,10 +370,20 @@ add_date_header (GstRTSPMessage * message)
   gchar date_string[100];
   time_t t;
 
+#ifdef HAVE_GMTIME_R
+  struct tm tm_;
+#endif
+
   g_get_current_time (&tv);
   t = (time_t) tv.tv_sec;
+
+#ifdef HAVE_GMTIME_R
+  strftime (date_string, sizeof (date_string), "%a, %d %b %Y %H:%M:%S GMT",
+      gmtime_r (&t, &tm_));
+#else
   strftime (date_string, sizeof (date_string), "%a, %d %b %Y %H:%M:%S GMT",
       gmtime (&t));
+#endif
 
   gst_rtsp_message_add_header (message, GST_RTSP_HDR_DATE, date_string);
 }