[Mono-dev] What will happen if Dispose() hangs?
gregnajda at gmail.com
Tue Jan 27 13:49:18 UTC 2015
Regarding the TcpClient timeouts, if you are setting the timeout before
connecting, it is ignored. That is a bug. See
https://bugzilla.xamarin.com/show_bug.cgi?id=25365. As a workaround you can
set the timeout after connecting.
On Mon, Jan 26, 2015 at 11:12 PM, Edward Ned Harvey (mono) <
edward.harvey.mono at clevertrove.com> wrote:
> When I call SslStream.Dispose(), the thread simply hangs indefinitely.
> (Well, I didn't wait forever; only a few minutes, which is longer than the
> underlying TcpClient timeout periods.)
> Obviously this is a bug, but my question is - What if I simply ignore the
> problem, and don't call Dispose, and just drop reference to the SslStream?
> Presumably the GC will call finalizer, which will then call Dispose().
> Will the GC thread also hang? Will it put mono into a bad state? What
> could possibly go wrong?
> Possibly related - I observed that when I set TcpClient read & write
> timeouts, they seem to have no effect. Set to 60000 (60sec), wait a few
> minutes on a Read or Write (actually BeginRead/EndRead, or synchronous
> Write) and nothing happens. Thread just blocks indefinitely or the end
> method is never called.
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-devel-list