Re: [Mingw-w64-public] [PATCH] winpthread: use GetSystemTimeAsFileTime instead of _ftime

2014-09-28 Thread NAKAI Yuta



 From: j...@videolan.org
 To: mingw-w64-public@lists.sourceforge.net
 Date: Fri, 26 Sep 2014 20:06:55 +0200
 Subject: [Mingw-w64-public] [PATCH] winpthread: use GetSystemTimeAsFileTime 
 instead of _ftime

 First, _ftime is not present in all msvcrt versions,
 then, _ftime is the current local time.
 ---
 mingw-w64-libraries/winpthreads/src/misc.c | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

 diff --git a/mingw-w64-libraries/winpthreads/src/misc.c 
 b/mingw-w64-libraries/winpthreads/src/misc.c
 index 173c5e1..db650c9 100644
 --- a/mingw-w64-libraries/winpthreads/src/misc.c
 +++ b/mingw-w64-libraries/winpthreads/src/misc.c
 @@ -22,13 +22,15 @@

 #include pthread.h
 #include misc.h
 +#include windows.h

We should include windows.h earlier than misc.h because of _mm_pause().
A patch is here.

From 35ea7b284d3c5a8044275f78c48bcf8c5736712f Mon Sep 17 00:00:00 2001
From: Yuta NAKAI nak5...@live.jp
Date: Sun, 28 Sep 2014 22:29:57 +0900
Subject: [PATCH] winpthreads/src/misc.c: include windows.h earlier than misc.h

---
 mingw-w64-libraries/winpthreads/src/misc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mingw-w64-libraries/winpthreads/src/misc.c 
b/mingw-w64-libraries/winpthreads/src/misc.c
index db650c9..2c81abe 100644
--- a/mingw-w64-libraries/winpthreads/src/misc.c
+++ b/mingw-w64-libraries/winpthreads/src/misc.c
@@ -20,9 +20,9 @@
    DEALINGS IN THE SOFTWARE.
 */
 
+#include windows.h
 #include pthread.h
 #include misc.h
-#include windows.h
 
 unsigned long long _pthread_time_in_ms(void)
 {
-- 
2.1.1



 unsigned long long _pthread_time_in_ms(void)
 {
 - struct _timeb tb;
 + FILETIME ft;

 - _ftime(tb);
 - return (unsigned long long)tb.time * 1000ULL + (unsigned long long) 
 tb.millitm;
 + GetSystemTimeAsFileTime(ft);
 + return (((unsigned long long)ft.dwHighDateTime  32) + ft.dwLowDateTime
 + - 0x19DB1DED53E8000ULL) / 1ULL;
 }

 unsigned long long _pthread_time_in_ms_from_timespec(const struct timespec 
 *ts)
 --
 2.1.1


 --
 Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
 Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
 Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
 Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
 http://pubads.g.doubleclick.net/gampad/clk?id=154622311iu=/4140/ostg.clktrk
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
  
--
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311iu=/4140/ostg.clktrk
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


[Mingw-w64-public] [PATCH] winpthread: use GetSystemTimeAsFileTime instead of _ftime

2014-09-26 Thread Jean-Baptiste Kempf
First, _ftime is not present in all msvcrt versions,
then, _ftime is the current local time.
---
 mingw-w64-libraries/winpthreads/src/misc.c | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/mingw-w64-libraries/winpthreads/src/misc.c 
b/mingw-w64-libraries/winpthreads/src/misc.c
index 173c5e1..db650c9 100644
--- a/mingw-w64-libraries/winpthreads/src/misc.c
+++ b/mingw-w64-libraries/winpthreads/src/misc.c
@@ -22,13 +22,15 @@
 
 #include pthread.h
 #include misc.h
+#include windows.h
 
 unsigned long long _pthread_time_in_ms(void)
 {
-struct _timeb tb;
+FILETIME ft;
 
-_ftime(tb);
-return (unsigned long long)tb.time * 1000ULL + (unsigned long long) 
tb.millitm;
+GetSystemTimeAsFileTime(ft);
+return (((unsigned long long)ft.dwHighDateTime  32) + ft.dwLowDateTime
+- 0x19DB1DED53E8000ULL) / 1ULL;
 }
 
 unsigned long long _pthread_time_in_ms_from_timespec(const struct timespec *ts)
-- 
2.1.1


--
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311iu=/4140/ostg.clktrk
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public