Idle Interrupt (INT 28h) Under Windows 3.0

ID: Q75536


The information in this article applies to:
  • Microsoft Windows Device Development Kit (DDK) for Windows, version 3.0


SUMMARY

MS-DOS TSR (terminate-and-stay-resident) programs that rely on the MS-DOS Idle interrupt (INT 28h) to receive a "time-slice" under Windows version 3.0 may not function consistently.


MORE INFORMATION

The MS-DOS Idle interrupt (INT 28h), also known as the MS-DOS Safe to Use interrupt, is commonly used by TSRs to determine when it is safe to do background processing. During this interrupt, it is known that it is safe to use MS-DOS file operations and other MS-DOS (INT 21h) functions with numbers greater than 0Ch.

However, if a TSR relies on INT 28h to give it a time-slice to carry out background tasks, then the TSR will not perform consistently because of the way that some applications process messages under Windows.

For example, Write (a word processing application provided with Windows) does not let the system go idle; it uses a PeekMessage() loop. Because of this, the Windows KERNEL module never gets into its idle loop to issue an INT 28h. Therefore, when Write is running in Windows, no INT 28h interrupts will be issued. Note that Write will idle when a menu is pulled down -- allowing a few Idle interrupts to be generated.

Do not rely on INT 28h to perform background processing under Windows; use some other mechanism to determine that the processor is idle. The MS-DOS Idle interrupt may be removed in a future version of Windows, and therefore should not be used if at all possible. The following is from AmitC:

INT 28h is the MS-DOS Idle interrupt. KERNEL tries to simulate this and issues INT 28h's when it thinks that the system is idle. WinWord never lets the system go idle. It does PeekMessage() calls constantly and KERNEL never gets a chance to get into its idle loop to issue an INT 28h.

Write has a similar behavior. However, Write does go idle once you pull down a menu.

Additional query words: 3.00

Keywords :
Version : :3.0
Platform :
Issue type :


Last Reviewed: November 1, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.