我调用PostQueuedCompletionStatus来关闭一个socket连接  
之后会进到GetQueuedCompletionStatus中,GetQueuedCompletionStatus中我closesocket关闭socket,之后delete参数的内存,
 但是调用closesocket后又会进到GetQueuedCompletionStatus中,这时候参数是有值的 但是值的内容全是错误的, 应为第一次我closesocket之后释放了所有参数申请的内存.
怎么解决这个重入?

解决方案 »

  1.   

    PostQueuedCompletionStatus只是给你一个执行closesocket的机会,真正的释放操作放在closesocket之后的回调之中。
      

  2.   

    楼主你这是死循环。closesocket别放GetQueuedCompletionStatus里面看看
      

  3.   

    是不是调用closesocket 就一定会进到GetQueuedCompletionStatus中?
      

  4.   

    对啊!我在测试的时候发现,当我closesocket之后并没有激活GetQueuedCompletionStatus()。同求解惑!