fix interlockedexchangepointer bug