Every single piece of code I've written against the write APIs has used the block=True option to wait for the result.
Without that, it instead fires the write into the queue but then continues even before it has finished executing.
block=True should clearly be the default behaviour here!