Use of TimerCriticalSection= in 386 Enhanced Mode Windows

Last reviewed: November 21, 1994
Article ID: Q82228
The information in this article applies to:
  • Microsoft Windows operating system versions 3.0, 3.0a, 3.1, 3.11
  • Microsoft Windows for Workgroups version 3.1

SUMMARY

In the [386Enh] section of the SYSTEM.INI file, the TimerCriticalSection= setting can be used in Microsoft Windows running in 386 enhanced mode to prevent system corruption for some networks and terminate-and-stay-resident (TSR) programs.

MORE INFORMATION

The TimerCriticalSection= setting must be entered as follows

   [386Enh]
   TimerCriticalSection=nnnn

where "nnnn" is the amount of time in milliseconds before the critical section is timed out. For example, a value of 1000 would indicate a 1 second time-out for the timer critical section.

When this feature is enabled, the virtual machine (VM) assumes ownership of the critical section before sending a timer interrupt. This prevents timer interrupts from being serviced in one virtual machine while another virtual machine is in the critical section (for example, making an MS-DOS call).

The time-out feature allows you to fine-tune the amount of time Windows blocks a timer interrupt from being serviced in a virtual machine. When a virtual machine returns from servicing a timer interrupt, the critical section is released and the time-out is canceled to allow other virtual machines to service timer interrupts. Typically the time-out will never occur, so it is best to set the TimerCriticalSection= value to a large value such as 5000. A virtual machine would then be allowed to "own" all timer interrupts for up to 5 seconds before other virtual machines would be allowed to run. Because timer interrupt service routines return very quickly in almost all situations, this will not present a problem. However, a pop-up program such as Borland's SideKick pops-up on a timer interrupt and does not return until you pop it down. The time-out is provided to handle this situation.

TimerCriticalSection=2000 has prevented system corruption on both Banyan and Novell networks.


KBCategory: kbnetwork kb3rdparty
KBSubcategory: wfw wfwg win31 winmem
Additional reference words: 3.0 3.0a 3.1 3.00 3.00A 3.10 3.11


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 21, 1994
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.