windows/TimeSupport.cpp File Reference
#include "RexxCore.h"
#include "IntegerClass.hpp"
#include "RexxDateTime.hpp"
#include "Interpreter.hpp"
#include "SystemInterpreter.hpp"
#include <time.h>
Include dependency graph for windows/TimeSupport.cpp:

Go to the source code of this file.

Classes

struct  timezone
 

Macros

#define TIMESLICE_STACKSIZE   2048
 
#define TIMESLICEMS   10
 
#define DELTA_EPOCH_IN_MICROSECS   11644473600000000ULL
 

Functions

DWORD WINAPI TimeSliceControl (void *args)
 
static void waitTimerOrEvent (HANDLE hev)
 
 RexxMethod2 (int, alarm_startTimer, wholenumber_t, numdays, wholenumber_t, alarmtime)
 
 RexxMethod1 (int, alarm_stopTimer, POINTER, eventSemHandle)
 

Macro Definition Documentation

◆ DELTA_EPOCH_IN_MICROSECS

#define DELTA_EPOCH_IN_MICROSECS   11644473600000000ULL

Definition at line 52 of file windows/TimeSupport.cpp.

◆ TIMESLICE_STACKSIZE

#define TIMESLICE_STACKSIZE   2048

Definition at line 48 of file windows/TimeSupport.cpp.

◆ TIMESLICEMS

#define TIMESLICEMS   10

Definition at line 49 of file windows/TimeSupport.cpp.

Function Documentation

◆ RexxMethod1()

RexxMethod1 ( int  ,
alarm_stopTimer  ,
POINTER  ,
eventSemHandle   
)

Definition at line 324 of file windows/TimeSupport.cpp.

References Rexx_Error_System_service.

◆ RexxMethod2()

RexxMethod2 ( int  ,
alarm_startTimer  ,
wholenumber_t  ,
numdays  ,
wholenumber_t  ,
alarmtime   
)

Alarm is for some day in the future, start a timer that wakes up once a day.

Total alarm time has expired, or the alarm was canceled. We don't care which, just clean up and return.

Definition at line 233 of file windows/TimeSupport.cpp.

References Rexx_Error_System_service, and waitTimerOrEvent().

◆ TimeSliceControl()

◆ waitTimerOrEvent()

static void waitTimerOrEvent ( HANDLE  hev)
static

Wait for a window timer message or for an event to be signaled.

Parameters
hevHandle to an event object. If this event is signaled, the function returns.

Wait for a window timer message or for the event to be signaled. Note that MsgWaitForMultipleObjects() will return if a new message is placed in the message queue. Once PeekMesage() is called, all messages in the queue need to be processed before MsgWaitForMultipleObjects() is called.

Definition at line 187 of file windows/TimeSupport.cpp.

Referenced by RexxMethod2().