Fix harmless warnings with mingw in timing.c

parent 38433535
......@@ -9,6 +9,7 @@ Features
Bugfix
* Fix hardclock() (only used in the benchmarking program) with some
versions of mingw64 (found by kxjhlele).
* Fix warnings from mingw64 in timing.c (found by kxjklele).
Changes
* Move from SHA-1 to SHA-256 in example programs using signatures
......
......@@ -65,6 +65,10 @@ unsigned long get_timer( struct hr_time *val, int reset );
* \brief Setup an alarm clock
*
* \param seconds delay before the "alarmed" flag is set
*
* \warning Only one alarm at a time is supported. In a threaded
* context, this means one for the whole process, not one per
* thread.
*/
void set_alarm( int seconds );
......
......@@ -251,9 +251,13 @@ unsigned long get_timer( struct hr_time *val, int reset )
return( delta );
}
DWORD WINAPI TimerProc( LPVOID uElapse )
/* It's OK to use a global because alarm() is supposed to be global anyway */
static DWORD alarmMs;
DWORD WINAPI TimerProc( LPVOID TimerContext )
{
Sleep( (DWORD) uElapse );
((void) TimerContext);
Sleep( alarmMs );
alarmed = 1;
return( TRUE );
}
......@@ -263,8 +267,8 @@ void set_alarm( int seconds )
DWORD ThreadId;
alarmed = 0;
CloseHandle( CreateThread( NULL, 0, TimerProc,
(LPVOID) ( seconds * 1000 ), 0, &ThreadId ) );
alarmMs = seconds * 1000;
CloseHandle( CreateThread( NULL, 0, TimerProc, NULL, 0, &ThreadId ) );
}
void m_sleep( int milliseconds )
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment