XCLN: Synchronization of Offline Folders over RAS or Net Hangs

This article was previously published under Q166534
This article has been archived. It is offered "as is" and will no longer be updated.
When you synchronize offline folders over RAS or the network, MicrosoftExchange Server 5.0 periodically stops responding. The progress dialog boxon the screen is still animated, it but does not advance, leaving thenetwork or RAS connection open. Moving the mouse causes synchronization toresume.
The problem is in the behavior of the Win32 API MsgWaitForMultipleObjectsas it is used by the Windows NT notification engine in itsScMsgWaitForSignal call. MsgWaitForMultipleObjects does not notice a windowmessage posted from the notification thread to the main thread, enabling itto deliver pending notifications. The reason is that the message wasPeekMessage'd by code in the main thread (may have been OLE, but could beanywhere) and MsgWaitForMultipleObjects interprets peeked messages asintentionally left on the queue, and therefore does not return as it doeswith new, unpeeked messages. In our case the message is responsible forinitiating delivery of notifications, but because the thread is waiting fornotifications to be delivered, the process stops until a genuinely newmessage (such as a mouse move) is posted to the message queue.
Microsoft has confirmed this to be a problem in Microsoft Exchange Serverversion 5.0.This problem was corrected in the latest Microsoft Exchange Server 5.0 U.S. Service Pack. For information on obtaining the service pack, query on thefollowing word in the Microsoft Knowledge Base (without the spaces):

Article ID: 166534 - Last Review: 10/06/2013 23:30:03 - Revision: 3.3

  • Microsoft Exchange Server 5.0 Standard Edition
  • kbnosurvey kbarchive kbusage KB166534