* fixed NT services not working. app must now call lcoreinit() at some point before...
[lcore.git] / lcoreselect.pas
index 0d99f6ad900c4dd5b0d6bf63d616ed7f81a69334..16134ee6a73fc3a323ca19521f14de5326c9d617 100755 (executable)
@@ -31,6 +31,8 @@ var
 function getfdsrmaster : fdset; {$ifdef useinline}inline;{$endif}\r
 function getfdswmaster : fdset; {$ifdef useinline}inline;{$endif}\r
 \r
 function getfdsrmaster : fdset; {$ifdef useinline}inline;{$endif}\r
 function getfdswmaster : fdset; {$ifdef useinline}inline;{$endif}\r
 \r
+procedure lcoreinit;\r
+\r
 implementation\r
 uses\r
   lcore,sysutils,\r
 implementation\r
 uses\r
   lcore,sysutils,\r
@@ -392,9 +394,13 @@ begin
   fdreverse[fd] := reverseto;\r
 end;\r
 \r
   fdreverse[fd] := reverseto;\r
 end;\r
 \r
+var\r
+  inited:boolean;\r
 \r
 \r
-\r
+procedure lcoreinit;\r
 begin\r
 begin\r
+  if inited then exit;\r
+  inited := true;\r
   eventcore := tselecteventcore.create;\r
 \r
   absoloutemaxs := absoloutemaxs_select;\r
   eventcore := tselecteventcore.create;\r
 \r
   absoloutemaxs := absoloutemaxs_select;\r
@@ -402,4 +408,6 @@ begin
   maxs := 0;\r
   fd_zero(fdsrmaster);\r
   fd_zero(fdswmaster);\r
   maxs := 0;\r
   fd_zero(fdsrmaster);\r
   fd_zero(fdswmaster);\r
+end;\r
+\r
 end.\r
 end.\r