Tub.stopService returns a Deferred that may fire before all of the Tub's Brokers have disconnected
Tub.stopService doesn't try to wait for the Brokers to disconnect. It merely calls shutdown
on them. In most cases, because of the fireEventually
, the Brokers will indeed have disconnected by the time stopService
's Deferred fires. However, it's not guaranteed. And, indeed, it recently failed to happen and caused a Tahoe-LAFS CI failure leading to this ticket: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2896.
Change History (4)
Keywords: |
review-needed added
|
Component: |
unknown →
network
|
Keywords: |
review-needed removed
|
Milestone: |
undecided →
0.13.0
|
Resolution: |
→ fixed
|
Status: |
new →
closed
|
Milestone: |
0.13.0 →
0.12.7
|
https://github.com/warner/foolscap/pull/38