make windows threaded async an option and disable it, because it causes crashes
authorbeware <beware@bircd.org>
Sun, 29 Jun 2014 15:44:40 +0000 (15:44 +0000)
committerbeware <beware@bircd.org>
Sun, 29 Jun 2014 15:44:40 +0000 (15:44 +0000)
git-svn-id: file:///svnroot/lcore/trunk@138 b1de8a11-f9be-4011-bde0-cc7ace90066a

dnsasync.pas
lcoreconfig.inc

index 59660d7306df82e3891294850954a91f082cb3c8..68b5c1f3adf3573b1a710c1808441a950eea8dd5 100644 (file)
@@ -11,7 +11,7 @@ unit dnsasync;
 interface\r
 \r
 uses\r
-  {$ifdef mswindows}\r
+  {$ifdef winasyncdns}\r
     dnswin,\r
   {$endif}\r
   lsocket,lcore,\r
@@ -39,7 +39,7 @@ type
 \r
     dnsserverids : array[0..numsock-1] of integer;\r
     startts:double;\r
-    {$ifdef mswindows}\r
+    {$ifdef winasyncdns}\r
       dwas : tdnswinasync;\r
     {$endif}\r
 \r
@@ -49,7 +49,7 @@ type
     procedure asyncprocess(socketno:integer);\r
     procedure receivehandler(sender:tobject;error:word);\r
     function sendquery(socketno:integer;const packet:tdnspacket;len:integer):boolean;\r
-    {$ifdef mswindows}\r
+    {$ifdef winasyncdns}\r
       procedure winrequestdone(sender:tobject;error:word);\r
     {$endif}\r
 \r
@@ -110,7 +110,7 @@ begin
     end;\r
   end;\r
 \r
-  {$ifdef mswindows}\r
+  {$ifdef winasyncdns}\r
   if assigned(dwas) then begin\r
     dwas.release;\r
     dwas := nil;\r
@@ -273,7 +273,7 @@ begin
     requestaf := overrideaf;\r
   end;\r
 \r
-  {$ifdef mswindows}\r
+  {$ifdef winasyncdns}\r
     if usewindns and (addr = '') then begin\r
       dwas := tdnswinasync.create;\r
       dwas.onrequestdone := winrequestdone;\r
@@ -305,7 +305,7 @@ end;
 \r
 procedure tdnsasync.reverselookup;\r
 begin\r
-  {$ifdef mswindows}\r
+  {$ifdef winasyncdns}\r
     if usewindns and (addr = '') then begin\r
       dwas := tdnswinasync.create;\r
       dwas.onrequestdone := winrequestdone;\r
@@ -342,7 +342,7 @@ procedure tdnsasync.cancel;
 var\r
   socketno : integer;\r
 begin\r
-  {$ifdef mswindows}\r
+  {$ifdef winasyncdns}\r
     if assigned(dwas) then begin\r
       dwas.release;\r
       dwas := nil;\r
@@ -365,7 +365,7 @@ begin
   onrequestdone(self,0);\r
 end;\r
 \r
-{$ifdef mswindows}\r
+{$ifdef winasyncdns}\r
   procedure tdnsasync.winrequestdone(sender:tobject;error:word);\r
  \r
   begin\r
index cda6ec7732967d5c1b8b480fdcf8a5d4aae298c7..39d1f27fb41dcb598eddc756930e8be8075817f7 100644 (file)
@@ -33,8 +33,13 @@ so a single listener cant get all connections for a port number, only those for
 also it means a portable app would gave to deal with inconsistent behavior.\r
 enable this option to simulate the behavior of listening on both v4 and v6}\r
 \r
-{$ifdef win32}{$ifdef ipv6}\r
+{$ifdef mswindows}{$ifdef ipv6}\r
 {$define secondlistener}\r
 {$endif}{$endif}\r
 \r
-{-------------------------------------------------------------------------------------}
\ No newline at end of file
+{-------------------------------------------------------------------------------------}\r
+{the threaded windows async dns is currently (2014-03-28) broken. it causes crashes\r
+after running for a period of time. -anders}\r
+{$ifdef mswindows}\r
+  {-$define winasyncdns}\r
+{$endif}\r