tokio-rs / mio

Metal I/O library for Rust.
MIT License
6.38k stars 738 forks source link

Windows Named Pipes Handle.drop is not called, pipe is not removed #1838

Open TrionProg opened 1 month ago

TrionProg commented 1 month ago

Hello. On server side. After creation of pipe, calling of method connect, registration of pipe on reading, (multiple reregister on writing) and deregister and disconnect, Handle.drop is not called via Arc. So I can not create new pipe. I am sure that this idea with mem::forget is very bad idea, this is like memleak, probably you should use weak refs and give to me strong? I need direct control how to close this f*ing pipe and for me no matter about how much messages are read etc. So are you sure that you code in example works correctly? And do you have ideas? I wrote my code 4 years ago and I do not remember how it works, It is difficult and has reading messages by parts etc. There are a lot of loops. Note: client uses same code and also does not closes connection, but killing this process does not helps.

Thomasdezeeuw commented 1 week ago

First of all @TrionProg can you tone it down, this error report is not appropriate. If you want this problem to be addressed can you please rewrite it?