From c7cdd6602365ce55a408e2d793c92a8a9e0027c0 Mon Sep 17 00:00:00 2001 From: Cristy Date: Thu, 22 Nov 2018 07:10:33 -0500 Subject: [PATCH] ... --- MagickCore/nt-base.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/MagickCore/nt-base.c b/MagickCore/nt-base.c index 86f8ffbeb..94ef4a545 100644 --- a/MagickCore/nt-base.c +++ b/MagickCore/nt-base.c @@ -620,9 +620,25 @@ MagickPrivate double NTElapsedTime(void) filetime64; } elapsed_time; + LARGE_INTEGER + performance_count; + + static LARGE_INTEGER + frequency = { 0 }; + SYSTEMTIME system_time; + if (frequency.QuadPart == 0) + { + if (QueryPerformanceFrequency(&frequency) == 0) + frequency.QuadPart=1; + } + if (frequency.QuadPart > 1) + { + QueryPerformanceCounter(&performance_count); + return((double) performance_count.QuadPart/frequency.QuadPart); + } GetSystemTime(&system_time); SystemTimeToFileTime(&system_time,&elapsed_time.filetime); return((double) 1.0e-7*elapsed_time.filetime64); @@ -2450,10 +2466,8 @@ MagickPrivate int NTSystemCommand(const char *command,char *output) CloseHandle(process_info.hProcess); CloseHandle(process_info.hThread); if (read_output != (HANDLE) NULL) - if (PeekNamedPipe(read_output,(LPVOID) NULL,0,(LPDWORD) NULL,&size, - (LPDWORD) NULL)) - if ((size > 0) && (ReadFile(read_output,output,MagickPathExtent-1, - &bytes_read,NULL))) + if (PeekNamedPipe(read_output,(LPVOID) NULL,0,(LPDWORD) NULL,&size,(LPDWORD) NULL)) + if ((size > 0) && (ReadFile(read_output,output,MagickPathExtent-1,&bytes_read,NULL))) output[bytes_read]='\0'; CleanupOutputHandles; return((int) child_status); -- 2.40.0