X-Git-Url: http://www.lcore.org/git/lcore.git/blobdiff_plain/6cb6b7ede2d178e03fa817bc28474c175f5a93b9..170e475daffeb198914a020e26afaf803a6f9608:/lcoreselect.pas?ds=inline

diff --git a/lcoreselect.pas b/lcoreselect.pas
index bae8fe4..16134ee 100755
--- a/lcoreselect.pas
+++ b/lcoreselect.pas
@@ -6,11 +6,11 @@
   For conditions of distribution and use, see copyright notice in zlib_license.txt
   which is included in the package
   ----------------------------------------------------------------------------- }
-
-{$ifdef fpc}
-  {$ifndef ver1_0}
-    {$define useinline}
-  {$endif}
+
+{$ifdef fpc}
+  {$ifndef ver1_0}
+    {$define useinline}
+  {$endif}
 {$endif}
 
 unit lcoreselect;
@@ -31,6 +31,8 @@ var
 function getfdsrmaster : fdset; {$ifdef useinline}inline;{$endif}
 function getfdswmaster : fdset; {$ifdef useinline}inline;{$endif}
 
+procedure lcoreinit;
+
 implementation
 uses
   lcore,sysutils,
@@ -213,7 +215,7 @@ var
 
 var
   fdsrmaster , fdswmaster               : fdset      ;
-
+
 function getfdsrmaster : fdset; {$ifdef fpc}inline;{$endif}
 begin
   result := fdsrmaster;
@@ -222,8 +224,8 @@ function getfdswmaster : fdset; {$ifdef fpc}inline;{$endif}
 begin
   result := fdswmaster;
 end;
-
-
+
+
 Function  doSelect(timeOut:PTimeVal):longint;//inline;
 var
   localtimeval : ttimeval;
@@ -392,9 +394,13 @@ begin
   fdreverse[fd] := reverseto;
 end;
 
+var
+  inited:boolean;
 
-
+procedure lcoreinit;
 begin
+  if inited then exit;
+  inited := true;
   eventcore := tselecteventcore.create;
 
   absoloutemaxs := absoloutemaxs_select;
@@ -402,4 +408,6 @@ begin
   maxs := 0;
   fd_zero(fdsrmaster);
   fd_zero(fdswmaster);
+end;
+
 end.