Make join abandon inflight promises when ended

Fix #57