File tree Expand file tree Collapse file tree 2 files changed +2
-2
lines changed
ferron-modules-builtin/src/util/send_net_io Expand file tree Collapse file tree 2 files changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -106,7 +106,7 @@ impl SendTcpStreamPoll {
106106 #[ inline]
107107 fn populate_if_different_thread_or_marked_dropped ( & mut self , dropped : bool ) {
108108 let current_thread_id = std:: thread:: current ( ) . id ( ) ;
109- let marked_dropped = !dropped && self . marked_dropped . swap ( false , Ordering :: Relaxed ) ;
109+ let marked_dropped = !dropped && self . marked_dropped . swap ( false , Ordering :: Relaxed ) && self . prev_inner . is_none ( ) ;
110110 if marked_dropped || current_thread_id != self . thread_id {
111111 if !self . obtained_dropped {
112112 panic ! ( "the TcpStreamPoll can be used only once if drop guard is not obtained" )
Original file line number Diff line number Diff line change @@ -71,7 +71,7 @@ impl SendUnixStreamPoll {
7171 #[ inline]
7272 fn populate_if_different_thread_or_marked_dropped ( & mut self , dropped : bool ) {
7373 let current_thread_id = std:: thread:: current ( ) . id ( ) ;
74- let marked_dropped = !dropped && self . marked_dropped . swap ( false , Ordering :: Relaxed ) ;
74+ let marked_dropped = !dropped && self . marked_dropped . swap ( false , Ordering :: Relaxed ) && self . prev_inner . is_none ( ) ;
7575 if marked_dropped || current_thread_id != self . thread_id {
7676 if !self . obtained_dropped {
7777 panic ! ( "the UnixStreamPoll can be used only once if drop guard is not obtained" )
You can’t perform that action at this time.
0 commit comments