The information in this article applies to:
SYMPTOMSMultithreaded applications may experience exceptions or incorrect results when calling the C run-time library (CRT) strftime() function. This behavior is particularly prevalent on multiprocessor machines. CAUSEThe strftime() function is dependent on an internal pointer for locale- related information that is necessary for formatting time and date strings. This pointer is used, and can be modified, by other components of the CRT, but is not protected for exclusive use within the strftime() function. This allows other threads to modify the pointer while strftime() is using it. RESOLUTIONThe internal pointer is modified when calling the setlocale() CRT function. To prevent the pointer from being inadvertently modified while being used, use one of the following two workarounds:
STATUSMicrosoft has confirmed this to be a problem in the Microsoft products listed
at the beginning of this article. http://msdn.microsoft.com/vstudio/sp/default.aspFor more information on the Visual Studio 6.0 Service Pack 1, please see the following articles in the Microsoft Knowledge Base: Q193009 INFO: Visual Studio 6.0 Service Pack 1 Readme Q194295 HOWTO: Tell that Visual Studio 6.0 Service Packs Are Installed MORE INFORMATIONThe following sample program reproduces an exception. For multiprocessor systems, the problem occurs almost immediately:
Keywords : kbCRT kbVC600 kbVC600bug kbVS600sp2 kbVS600sp2bug kbVS600sp2fix kbVS600SP1fix |
Last Reviewed: July 9, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |