change ltimevalstuff to a unit and move defintion of ttimeval on windows
authorplugwash <plugwash@p10link.net>
Sat, 31 Oct 2009 00:20:41 +0000 (00:20 +0000)
committerplugwash <plugwash@p10link.net>
Sat, 31 Oct 2009 00:20:41 +0000 (00:20 +0000)
there

git-svn-id: file:///svnroot/lcore/trunk@57 b1de8a11-f9be-4011-bde0-cc7ace90066a

dnssync.pas
lcore.pas
lcoreselect.pas
lmessages.pas
ltimevalstuff.inc [deleted file]
ltimevalstuff.pas [new file with mode: 0755]

index a7ba7144ee9b14815b0c88449c4cfe2228b99db7..d75f54e35c53d1974ffe0c0b2165728019ea68a7 100755 (executable)
@@ -26,7 +26,8 @@ interface
       fd_utils,\r
     {$endif}\r
     lcorernd,\r
-    sysutils;\r
+    sysutils,
+    ltimevalstuff;\r
 \r
 //convert a name to an IP\r
 //will return v4 or v6 depending on what seems favorable, or manual preference setting\r
@@ -73,7 +74,6 @@ implementation
 {$endif}\r
 \r
 {$i unixstuff.inc}\r
-{$i ltimevalstuff.inc}\r
 \r
 var\r
   numsockused:integer;\r
index 69da11ea8089e1bebbe7b3377755c778463691d4..9061e45f2e2524f665b3579d58b113fa907fbec5 100755 (executable)
--- a/lcore.pas
+++ b/lcore.pas
@@ -30,7 +30,7 @@ interface
       {$endif}\r
       fd_utils,\r
     {$endif}\r
-    classes,pgtypes,bfifo;\r
+    classes,pgtypes,bfifo,ltimevalstuff;\r
   procedure processtasks;\r
 \r
 \r
@@ -154,12 +154,6 @@ interface
   var\r
     timerwrapperinterface : ttimerwrapperinterface;\r
   type\r
-    {$ifdef win32}\r
-      ttimeval = record\r
-        tv_sec : longint;\r
-        tv_usec : longint;\r
-      end;\r
-    {$endif}\r
     tltimer=class(tlcomponent)\r
     protected\r
 \r
@@ -260,7 +254,6 @@ implementation
 {$ifndef win32}\r
   {$include unixstuff.inc}\r
 {$endif}\r
-{$include ltimevalstuff.inc}\r
 \r
 \r
 {!!! added sleep call -beware}\r
index 77da21f33a8e2fdae3c0f4498041d67113686d9d..3cee9bf6f9bd40aac0126ddee84d126b7faf454d 100755 (executable)
@@ -38,11 +38,11 @@ uses
   lcore,sysutils,\r
   classes,pgtypes,bfifo,\r
   {$ifndef nosignal}\r
-    lsignal;\r
+    lsignal,\r
   {$endif}\r
+  ltimevalstuff;
 \r
 {$include unixstuff.inc}\r
-{$include ltimevalstuff.inc}\r
 \r
 const\r
   absoloutemaxs_select = (sizeof(fdset)*8)-1;\r
index e17ccfe933b99e52adb663cc84b269efe28236ea..b5a6f25594f0a41cc5ca59463898a69a96ae3c0f 100755 (executable)
@@ -99,7 +99,7 @@ procedure init;
 \r
 implementation\r
 uses\r
-  baseunix,unix,lcore,unixutil;//,safewriteln;\r
+  baseunix,unix,lcore,unixutil,ltimevalstuff;//,safewriteln;\r
 {$i unixstuff.inc}\r
 \r
 type\r
@@ -135,7 +135,7 @@ var
   //than crash after over four billion\r
   //windows have been made ;)\r
   nextwindowhandle : qword = $100000000;\r
-{$i ltimevalstuff.inc}\r
+
 \r
 //findthreaddata should only be called while holding the structurelock\r
 function findthreaddata(threadid : integer) : tthreaddata;\r
diff --git a/ltimevalstuff.inc b/ltimevalstuff.inc
deleted file mode 100755 (executable)
index 0ac92cb..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-{ Copyright (C) 2005 Bas Steendijk and Peter Green\r
-  For conditions of distribution and use, see copyright notice in zlib_license.txt\r
-  which is included in the package\r
-  ----------------------------------------------------------------------------- }\r
-\r
-\r
-\r
-{add nn msec to tv}\r
-const\r
-  tv_invalidtimebig : ttimeval = (tv_sec:maxlongint;tv_usec:maxlongint);\r
-  //tv_invalidtimebig will always compare as greater than any valid timeval\r
-procedure tv_add(var tv:ttimeval;msec:integer);//{ $ifdef fpc}inline;{ $endif}\r
-begin\r
-  inc(tv.tv_usec,msec*1000);\r
-  inc(tv.tv_sec,tv.tv_usec div 1000000);\r
-  tv.tv_usec := tv.tv_usec mod 1000000;\r
-end;\r
-\r
-{tv1 >= tv2}\r
-function tv_compare(const tv1,tv2:ttimeval):boolean;//{ $ifdef fpc}inline;{ $endif}\r
-begin\r
-  if tv1.tv_sec = tv2.tv_sec then begin\r
-    result := tv1.tv_usec >= tv2.tv_usec;\r
-  end else result := tv1.tv_sec > tv2.tv_sec;\r
-end;\r
-\r
-procedure tv_substract(var tv:ttimeval;const tv2:ttimeval);//{ $ifdef fpc}inline;{ $endif}\r
-begin\r
-  dec(tv.tv_usec,tv2.tv_usec);\r
-  if tv.tv_usec < 0 then begin\r
-    inc(tv.tv_usec,1000000);\r
-    dec(tv.tv_sec)\r
-  end;\r
-  dec(tv.tv_sec,tv2.tv_sec);\r
-end;\r
-\r
-procedure msectotimeval(var tv:ttimeval;msec:integer);\r
-begin\r
-  tv.tv_sec := msec div 1000;\r
-  tv.tv_usec := (msec mod 1000)*1000;\r
-end;\r
-\r
diff --git a/ltimevalstuff.pas b/ltimevalstuff.pas
new file mode 100755 (executable)
index 0000000..bf9767e
--- /dev/null
@@ -0,0 +1,74 @@
+{ Copyright (C) 2005 Bas Steendijk and Peter Green\r
+  For conditions of distribution and use, see copyright notice in zlib_license.txt\r
+  which is included in the package\r
+  ----------------------------------------------------------------------------- }\r
+\r
+unit ltimevalstuff;\r
+interface\r
+
+{$ifdef win32}
+  type
+    ttimeval = record
+      tv_sec : longint; 
+      tv_usec : longint; 
+    end;
+{$else}
+  {$ifdef ver1_0}
+    uses linux;
+  {$else}
+    uses baseunix,unix;
+  {$endif}
+{$endif}
+                                
+\r
+procedure tv_add(var tv:ttimeval;msec:integer);\r
+function tv_compare(const tv1,tv2:ttimeval):boolean;\r
+procedure tv_substract(var tv:ttimeval;const tv2:ttimeval);\r
+procedure msectotimeval(var tv:ttimeval;msec:integer);\r
+
+//tv_invalidtimebig will always compare as greater than any valid timeval\r
+//unfortunately unixstuff.inc hasn't worked it's magic yet so we
+//have to ifdef this manually.\r
+const\r
+  {$ifdef ver1_0}
+    tv_invalidtimebig : ttimeval = (sec:maxlongint;usec:maxlongint);\r
+  {$else}
+    \rtv_invalidtimebig : ttimeval = (tv_sec:maxlongint;tv_usec:maxlongint);\r
+\r  {$endif}
+implementation\r
+
+{$i unixstuff.inc}
+\r
+{add nn msec to tv}\r
+procedure tv_add(var tv:ttimeval;msec:integer);\r
+begin\r
+  inc(tv.tv_usec,msec*1000);\r
+  inc(tv.tv_sec,tv.tv_usec div 1000000);\r
+  tv.tv_usec := tv.tv_usec mod 1000000;\r
+end;\r
+\r
+{tv1 >= tv2}\r
+function tv_compare(const tv1,tv2:ttimeval):boolean;\r
+begin\r
+  if tv1.tv_sec = tv2.tv_sec then begin\r
+    result := tv1.tv_usec >= tv2.tv_usec;\r
+  end else result := tv1.tv_sec > tv2.tv_sec;\r
+end;\r
+\r
+procedure tv_substract(var tv:ttimeval;const tv2:ttimeval);\r
+begin\r
+  dec(tv.tv_usec,tv2.tv_usec);\r
+  if tv.tv_usec < 0 then begin\r
+    inc(tv.tv_usec,1000000);\r
+    dec(tv.tv_sec)\r
+  end;\r
+  dec(tv.tv_sec,tv2.tv_sec);\r
+end;\r
+\r
+procedure msectotimeval(var tv:ttimeval;msec:integer);\r
+begin\r
+  tv.tv_sec := msec div 1000;\r
+  tv.tv_usec := (msec mod 1000)*1000;\r
+end;\r
+\r
+end.
\ No newline at end of file