asynchronous callback must not join itself