internalclose(0);\r
\r
end else begin\r
- internalclose({$ifdef win32}getlasterror{$else}linuxerror{$endif});\r
+ {$ifdef win32}
+ if getlasterror=WSAEWOULDBLOCK then begin
+ //the asynchronous nature of windows messages means we sometimes
+ //get here with the buffer full
+ //so do nothing in that case
+ end else
+ {$endif}
+ begin
+ internalclose({$ifdef win32}getlasterror{$else}linuxerror{$endif});\r
+ end
end;\r
end;\r
\r