The interrupt could fire between checking if sense=disabled and registering the waker, in which case the future would get stuck.
The interrupt could fire between checking if sense=disabled and registering the waker, in which case the future would get stuck.