Kernel - Cleaning up messages
[tpg/acess2.git] / Kernel / time.c
index dcc4f79..3d06b0e 100644 (file)
@@ -17,25 +17,15 @@ typedef struct sTimer {
 } tTimer;
 
 // === PROTOTYPES ===
-Sint64 now(void);
 void   Timer_CallTimers(void);
 
 // === GLOBALS ===
-Uint64 giTicks = 0;
-Sint64 giTimestamp = 0;
-Uint64 giPartMiliseconds = 0;
+volatile Uint64        giTicks = 0;
+volatile Sint64        giTimestamp = 0;
+volatile Uint64        giPartMiliseconds = 0;
 tTimer gTimers[NUM_TIMERS];    // TODO: Replace by a ring-list timer
 
 // === CODE ===
-/**
- * \fn Sint64 now()
- * \brief Return the current timestamp
- */
-Sint64 now(void)
-{
-       return giTimestamp;
-}
-
 /**
  * \fn void Timer_CallTimers()
  */
@@ -94,12 +84,13 @@ void Time_RemoveTimer(int ID)
  */
 void Time_Delay(int Delay)
 {
-       Sint64  dest = giTimestamp + Delay;
-       while(dest > giTimestamp)       Threads_Yield();
+       Sint64  dest = now() + Delay;
+       //Log("Time_Delay: dest = %lli", dest);
+       while(dest > now())     Threads_Yield();
+       //Log("Time_Delay: giTimestamp = %lli", giTimestamp);
 }
 
 // === EXPORTS ===
-EXPORT(now);
 EXPORT(Time_CreateTimer);
 EXPORT(Time_RemoveTimer);
 EXPORT(Time_Delay);

UCC git Repository :: git.ucc.asn.au