ensure that Promise#fulfill does not get called multiple times (can happen under certain race conditions between io_reactor and the client thread)