It seems to me that there is no point for leadHQHandle to be re-entrant? In fact, as I explained in another comment (before seeing this pullreq), I think leadHQHandle should keep its progress between calls.