There are several different types of freezing and hangs.
From hardest on down there is
1> Interrupt loop, we use level based interrupts if your driver doesn't
clear an interrupt on your card then the system causes an infinite loop
with interrupts mostly disabled to get the interrupt processed. When
this happens the mouse stops moving and sometimes you can't even 'NMI'
into the system.
2> Infinite loop in your workloop. If your driver goes into an
infinite loop then it is possible that you hold the workloop gate
(lock), this would cause any client thread attempting to acquire the
lock to stall, in an unkillable way. The symptoms would be that your
system's mouse would move and 'spin' but almost nothing else on the
system seems to respond.
3> Your workloop has deadlocked in some way and your are not using
'interruptable' command sleep. If this occurs then you can block your
client thread in an uninterruptable manner. The symptoms woudl be a
mostly working system just your driver and software hung up.
Without more details I can't really diagnose the problem.
However the best was of solving this issue is to run a 'showallstacks'
on the wedged system. This almost always indicates the problem
clearly.
Godfrey
On Sep 23, , at 3:12, Dirk Musfeldt wrote:
Hi all,
we have an IOKit kext for communication with our PCI card.
Some of our customers are claiming that they experiencing 'freezes'
when
they use our application software.
We were unable to reproduce this ourselves yet. But we want to see if
we can
shed some light somehow, though. It's of course unsure if our software
is
the source of the troubles or what else happened.
one user reported that he was able to ssh into his Mac, but he was
unable to
kill our application.
Could anybody on the list imagine what has happened?