Commit aab64f9
committed
🧵 Fix deadlock in
`#disconnect` could deadlock when called inside the mutex, because the
receiver thread could be signaling a condition variable and it would
thus be unable to resume until the current thread releases its lock.
Also, `#disconnect` shouldn't raise `IO#shutdown` exceptions on the
receiver thread prior to closing the socket, when it is being called
from the receiver thread. The exception is still raised, _after_ the
socket is closed.#disconnect
1 parent 49a44d6 commit aab64f9
1 file changed
Lines changed: 6 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1190 | 1190 | | |
1191 | 1191 | | |
1192 | 1192 | | |
1193 | | - | |
1194 | | - | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
1195 | 1196 | | |
1196 | 1197 | | |
1197 | 1198 | | |
1198 | 1199 | | |
1199 | 1200 | | |
| 1201 | + | |
1200 | 1202 | | |
1201 | 1203 | | |
1202 | 1204 | | |
1203 | 1205 | | |
1204 | 1206 | | |
1205 | | - | |
| 1207 | + | |
1206 | 1208 | | |
1207 | 1209 | | |
1208 | | - | |
| 1210 | + | |
1209 | 1211 | | |
1210 | 1212 | | |
1211 | 1213 | | |
| |||
0 commit comments