I have a routine that sends an ip packet and receives an ack.  The routine
behaves as expected when called from an active kernel, but misbehaves when
called from ddb.

When called from ddb, the outgoing packet is sent, but the ack goes
undetected.  If I call fxp_intr() on the appropriate softc the ack is
delivered and everybody is happy.  This suggests interrupts aren't being
delivered?

A simpler test is to break to ddb, call something that takes some time, and
notice ticks isn't incremented:

   db> e ticks
   ticks:  8de4bb
   db> call DELAY(1000000)
   0xfa3
   db> e ticks
   ticks:  8de4bb
   
I'd like to be able to call my routine from ddb without resorting to
polling.  I've tried spl0(), enable_intr(), and both together with no
effect.  Any ideas?

This is FreeBSD 4.0-CURRENT built from an up-to-date source pool.

thanks,
-Darrell
-- 
Department of Computer Science, Duke University, Durham, NC 27708-0129
Darrell Anderson, [EMAIL PROTECTED], http://www.cs.duke.edu/~anderson


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to