The hotplugging needed a separate critical section to avoid deadlocking when
events were handled within other synchronous functions such as Transfer that
also used the same lock.