Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix a spuriously tripped assert in select()
The race here happened when a port had its deschedule in select() canceled, but the other chan had already been dropped. This meant that the DISCONNECTED case was hit in abort_selection, but the to_wake cell hadn't been emptied yet (this was done after aborting), causing an assert in abort_selection to trip. To fix this, the to_wake cell is just emptied before abort_selection is called (we know that we're the owner of it already).
- Loading branch information
35e26e9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
saw approval from pcwalton
at alexcrichton@35e26e9
35e26e9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
merging alexcrichton/rust/select-fix = 35e26e9 into auto
35e26e9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alexcrichton/rust/select-fix = 35e26e9 merged ok, testing candidate = 327c4dc6
35e26e9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some tests failed:
failure: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-t/builds/2891
exception: http://buildbot.rust-lang.org/builders/auto-mac-32-opt/builds/3782
exception: http://buildbot.rust-lang.org/builders/auto-mac-32-nopt-c/builds/1624
exception: http://buildbot.rust-lang.org/builders/auto-mac-32-nopt-t/builds/1626
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-opt/builds/3783
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-c/builds/2883
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/2889
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-opt/builds/3798
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-c/builds/2886
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-t/builds/2892
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-opt/builds/3800
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-c/builds/2886
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-x-android/builds/2960
exception: http://buildbot.rust-lang.org/builders/auto-win-32-opt/builds/3790
exception: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-c/builds/2891
exception: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-t/builds/2896
exception: http://buildbot.rust-lang.org/builders/auto-bsd-64-opt/builds/3560
35e26e9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
saw approval from pcwalton
at alexcrichton@35e26e9
35e26e9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
merging alexcrichton/rust/select-fix = 35e26e9 into auto
35e26e9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alexcrichton/rust/select-fix = 35e26e9 merged ok, testing candidate = b0ef2d5
35e26e9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all tests pass:
success: http://buildbot.rust-lang.org/builders/auto-mac-32-opt/builds/3791
success: http://buildbot.rust-lang.org/builders/auto-mac-32-nopt-c/builds/1633
success: http://buildbot.rust-lang.org/builders/auto-mac-32-nopt-t/builds/1635
success: http://buildbot.rust-lang.org/builders/auto-mac-64-opt/builds/3792
success: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-c/builds/2892
success: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/2898
success: http://buildbot.rust-lang.org/builders/auto-linux-32-opt/builds/3807
success: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-c/builds/2895
success: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-t/builds/2901
success: http://buildbot.rust-lang.org/builders/auto-linux-64-opt/builds/3809
success: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-c/builds/2895
success: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-t/builds/2900
success: http://buildbot.rust-lang.org/builders/auto-linux-64-x-android/builds/2969
success: http://buildbot.rust-lang.org/builders/auto-win-32-opt/builds/3799
success: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-c/builds/2900
success: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-t/builds/2905
success: http://buildbot.rust-lang.org/builders/auto-bsd-64-opt/builds/3569
35e26e9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fast-forwarding master to auto = b0ef2d5