Microsoft KB Archive/101193

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 21:57, 16 July 2020 by X010 (talk | contribs) (1 revision imported: importing part 2)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

INFO: Interrupting Threads in Critical Sections

Q101193



The information in this article applies to:


  • Microsoft Win32 Application Programming Interface (API), used with:
    • Microsoft Windows NT Server versions 3.1, 3.5, 3.51
    • Microsoft Windows NT Workstation versions 3.1, 3.5, 3.51
    • Microsoft Windows 95



If a thread enters a critical section and then terminates abnormally, the critical section object will not be released. Many components of the C Run-time library are not reentrant and use a resource locking scheme to maintain coherency in the multithreaded environment. Thus, a thread that has entered a C Run-time function, such as printf(), could deadlock all access (within that process) to printf() if it terminates abnormally.

This situation could arise if a thread is terminated with TerminateThread() while it holds a resource lock. If this occurs, any thread that tries to acquire that resource lock will become deadlocked.


SUMMARY

Additional query words: 3.10 3.50 4.00

Keywords :
Issue type : kbinfo
Technology : kbAudDeveloper kbWin32sSearch kbWin32API


Last Reviewed: December 16, 2000
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.