replace internal uses of gettimeofday with monotonic time where appropriate. make...
[lcore.git] / wcore.pas
old mode 100755 (executable)
new mode 100644 (file)
index 1c063ad..2c07d50
--- a/wcore.pas
+++ b/wcore.pas
@@ -34,7 +34,7 @@ interface
       initialdone:boolean;\r
       prevtimer:tltimer;\r
       nexttimer:tltimer;\r
       initialdone:boolean;\r
       prevtimer:tltimer;\r
       nexttimer:tltimer;\r
-      interval:integer;        {miliseconds, default 1000}\r
+      interval:integer;        {milliseconds, default 1000}\r
       nextts:integer;\r
       property enabled:boolean read fenabled write setenabled;\r
       constructor create(aowner:tcomponent);override;\r
       nextts:integer;\r
       property enabled:boolean read fenabled write setenabled;\r
       constructor create(aowner:tcomponent);override;\r
@@ -58,6 +58,7 @@ procedure addtask(ahandler:ttaskevent;aobj:tobject;awparam,alparam:longint);
 procedure disconnecttasks(aobj:tobject);\r
 procedure exitmessageloop;\r
 procedure processmessages;\r
 procedure disconnecttasks(aobj:tobject);\r
 procedure exitmessageloop;\r
 procedure processmessages;\r
+procedure wcoreinit;\r
 \r
 var\r
   onshutdown:procedure(s:ansistring);\r
 \r
 var\r
   onshutdown:procedure(s:ansistring);\r
@@ -78,7 +79,7 @@ const
 var\r
   hwndwcore:hwnd;\r
   firsttimer:tltimer;\r
 var\r
   hwndwcore:hwnd;\r
   firsttimer:tltimer;\r
-  timesubstract:integer;\r
+  timesubtract:integer;\r
   firsttask,lasttask,currenttask:tltask;\r
 \r
 procedure tlcomponent.release;\r
   firsttask,lasttask,currenttask:tltask;\r
 \r
 procedure tlcomponent.release;\r
@@ -143,13 +144,13 @@ begin
   end;\r
 \r
   tvnow := timegettime;\r
   end;\r
 \r
   tvnow := timegettime;\r
-  if (tvnow and ((-1) shl rollover_bits)) <> timesubstract then begin\r
+  if (tvnow and ((-1) shl rollover_bits)) <> timesubtract then begin\r
     currenttimer := firsttimer;\r
     while assigned(currenttimer) do begin\r
       dec(currenttimer.nextts,(1 shl rollover_bits));\r
       currenttimer := currenttimer.nexttimer;\r
     end;\r
     currenttimer := firsttimer;\r
     while assigned(currenttimer) do begin\r
       dec(currenttimer.nextts,(1 shl rollover_bits));\r
       currenttimer := currenttimer.nexttimer;\r
     end;\r
-    timesubstract := tvnow and ((-1) shl rollover_bits);\r
+    timesubtract := tvnow and ((-1) shl rollover_bits);\r
   end;\r
   tvnow := tvnow and ((1 shl rollover_bits)-1);\r
 \r
   end;\r
   tvnow := tvnow and ((1 shl rollover_bits)-1);\r
 \r
@@ -216,7 +217,7 @@ begin
     end else begin\r
       currenttasklocal := currenttask; //needed in case called from a task\r
     end;\r
     end else begin\r
       currenttasklocal := currenttask; //needed in case called from a task\r
     end;\r
-    // note i don't bother to sestroy the links here as that will happen when\r
+    // note i don't bother to destroy the links here as that will happen when\r
     // the list of tasks is processed anyway\r
     while assigned(currenttasklocal) do begin\r
       if currenttasklocal.obj = aobj then begin\r
     // the list of tasks is processed anyway\r
     while assigned(currenttasklocal) do begin\r
       if currenttasklocal.obj = aobj then begin\r
@@ -312,11 +313,8 @@ var
                                  lpszMenuName  : nil;\r
                                  lpszClassName : 'wcoreClass');\r
 \r
                                  lpszMenuName  : nil;\r
                                  lpszClassName : 'wcoreClass');\r
 \r
-procedure messageloop;\r
-var\r
-  MsgRec : TMsg;\r
+procedure wcoreinit;\r
 begin\r
 begin\r
-\r
   if Windows.RegisterClass(MyWindowClass) = 0 then halt;\r
   //writeln('about to create wcore handle, hinstance=',hinstance);\r
   hwndwcore := CreateWindowEx(WS_EX_TOOLWINDOW,\r
   if Windows.RegisterClass(MyWindowClass) = 0 then halt;\r
   //writeln('about to create wcore handle, hinstance=',hinstance);\r
   hwndwcore := CreateWindowEx(WS_EX_TOOLWINDOW,\r
@@ -339,6 +337,14 @@ begin
   {$endif}\r
 \r
 \r
   {$endif}\r
 \r
 \r
+end;\r
+\r
+procedure messageloop;\r
+var\r
+  MsgRec : TMsg;\r
+\r
+begin\r
+\r
   while GetMessage(MsgRec, 0, 0, 0) do begin\r
     TranslateMessage(MsgRec);\r
     DispatchMessage(MsgRec);\r
   while GetMessage(MsgRec, 0, 0, 0) do begin\r
     TranslateMessage(MsgRec);\r
     DispatchMessage(MsgRec);\r