m_extTimeout can now become 0, so you should change this to:
```
else if (m_extTimeout > 0 && m_outMsgEvent.WaitMSec(m_extTimeout))
```