X-Git-Url: http://www.lcore.org/git/lcore.git/blobdiff_plain/6cb6b7ede2d178e03fa817bc28474c175f5a93b9..82d4e52fba54be50d719f6185ec381f2dc87fc6c:/lcorewsaasyncselect.pas diff --git a/lcorewsaasyncselect.pas b/lcorewsaasyncselect.pas index 3f55f1a..712bd7f 100755 --- a/lcorewsaasyncselect.pas +++ b/lcorewsaasyncselect.pas @@ -138,10 +138,12 @@ begin end else begin if (event and (FD_READ or FD_ACCEPT)) <> 0 then readtrigger := true; if (event and (FD_WRITE)) <> 0 then writetrigger := true; - + if readtrigger or writetrigger then lasio.handlefdtrigger(readtrigger,writetrigger); end; - dowsaasyncselect(socket,0,0); //reset watches + // don't reset the event manually for listen sockets to avoid unwanted + // extra onsessionavailible events + if (taddrint(findtree(@fdwatches,inttostr(socket))) and FD_ACCEPT) = 0 then dowsaasyncselect(socket,0,0); // if not a listen socket reset watches end; end else if (ahwnd=hwndlcore) and (aumsg=wm_dotasks) then begin //writeln('processing tasks');