Code in Main Thread Still Executes After Issuing CTRL+C Command (180709)



The information in this article applies to:

  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0

This article was previously published under Q180709

SYMPTOMS

After you press CTRL+C, a significant amount of code may still be executed in the primary thread before the program quits.

CAUSE

If there is a read outstanding to a console device and CTRL+C is pressed, the Input/Output is cancelled and the read is completed. The thread that issued the read then continues to run. Sometime later, the CTRL+C event is delivered (in a different thread) to the Control Event handler which usually causes the process to exit. The problem is that various amounts of code can execute in the primary thread before the process ever exits. The amount of code that is executed depends on the platform speed and processor.

STATUS

Microsoft has confirmed this to be a problem in Windows NT version 4.0. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Modification Type:MajorLast Reviewed:8/10/2001
Keywords:kbbug KB180709