Deadlock When APC Routine for SetWaitableTimeruser Calls System Interfaces

This article was previously published under Q268229
This article has been archived. It is offered "as is" and will no longer be updated.
In Windows 2000, a deadlock can occur if system calls are made in the APC routine for SetWaitableTimer.

In particular, this problem may occur in scenarios with the following characteristics:
  • A multithreaded program
  • Positive non-zero lPeriod in SetWaitableTimer
  • MsgWaitForMultipleObjectsEx is set to be MWMO_ALERTABLE
  • System calls (for example, Net, Wnet, COM, etc.) are invoked in the APC routine specified in SetWaitableTimer
  • The system calls also invoke alertable internal routines
To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
The English version of this fix should have the following file attributes or later:
   Date        Time    Version       Size      File name   ------------------------------------------------------   08/10/2000  03:26p  5.0:2195.2103 426,256   Rpcrt4.dll				

NOTE: This fix is intended to be used only in Windows 2000. The next release of Windows may not have this fix. You should modify the program to work around this limitation.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 2.
More information
For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:
249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes


Article ID: 268229 - Last Review: 10/26/2013 04:40:00 - Revision: 4.0

Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition

  • kbnosurvey kbarchive kbhotfixserver kbqfe kbbug kbfix kbwin2000presp2fix KB268229