views:

105

answers:

4

What is it exactly that "triggers" Windows to mark a process as Not responding in the Task Manager and Resource Monitor?

+8  A: 

The API behind this is IsHungAppWindow. Basically, if the application has not pumped a message within 5 seconds it can be marked as not responding.

Michael
+5  A: 

If a process does not collect Windows messages from its queue using the GetMessage function or something related, it will be tagged as "not responding" -- because it is not responding to user interface events.

This does not necessarily mean that the application is actually hung -- it may just be too busy to pay attention to the user.

Jeffrey Hantin
+1  A: 

Basically, it get's it self into a state where the program does not return to a point where it can process it's message queue.

Usually, this is either a loop that doesn't end or a blocking operation, such as reading from a socket, etc.

Dan McGrath
Norton Antivirus frequently grabs my browser or my thunderbird email client and locks it into a not-responding. Its very annoying.
djangofan
The amount of issues I have encountered that were caused by Norton products has given me psychological scarring
Dan McGrath
thats why you use the new microsoft product or eset nod32 instead ;)
Svish
+1  A: 

The fact that they don't empty their message queue, by polling it GetMessge API and the like.

mjv