if readtrigger or writetrigger then lasio.handlefdtrigger(readtrigger,writetrigger);\r
end;\r
\r
if readtrigger or writetrigger then lasio.handlefdtrigger(readtrigger,writetrigger);\r
end;\r
- dowsaasyncselect(socket,0,0); //reset watches\r
+ // don't reset the event manually for listen sockets to avoid unwanted\r
+ // extra onsessionavailable events\r
+ if (taddrint(findtree(@fdwatches,inttostr(socket))) and (FD_ACCEPT)) = 0 then dowsaasyncselect(socket,0,0); // if not a listen socket reset watches\r
end;\r
end else if (ahwnd=hwndlcore) and (aumsg=wm_dotasks) then begin\r
//writeln('processing tasks');\r
end;\r
end else if (ahwnd=hwndlcore) and (aumsg=wm_dotasks) then begin\r