Microsoft KB Archive/163431

From BetaArchive Wiki
Knowledge Base


16-Bit Application Stops Responding When Run on WinNT 4.0

Article ID: 163431

Article Last Modified on 11/1/2006



APPLIES TO

  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition



This article was previously published under Q163431

SYMPTOMS

When you run a 16-bit application on Windows NT 4.0, a second 16-bit application created by the first 16-bit application stops responding. This same application will run fine on Windows 3.1, Windows 95, and Windows NT 3.51.

CAUSE

The main application created (spawned) a child 16-bit task and then entered a loop issuing Yield() calls until the newly created task set a global variable to True. A race condition existed in which the WOW made an incorrect assumption about the task, calling the yield function after a new 16-bit task was created.

STATUS

Microsoft has confirmed this to be a problem in Windows NT version 4.0. This problem was corrected in the latest Microsoft Windows NT 4.0 U.S. Service Pack. For information on obtaining the service pack, query on the following word in the Microsoft Knowledge Base (without the spaces):

S E R V P A C K



Additional query words: prodnt NT wow32 ntvdm hang

Keywords: kbbug KB163431