Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Mar 2003 02:17:14 -0800 (PST)
From:      Bruce Evans <bde@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/i386 db_interface.c
Message-ID:  <200303241017.h2OAHEB5058289@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
bde         2003/03/24 02:17:14 PST

  FreeBSD src repository

  Modified files:
    sys/i386/i386        db_interface.c 
  Log:
  Disable interrupts while in kdb_trap() to handle cases where the caller
  doesn't do it.  This fixes all known causes of "Context switches not
  allowed in the debugger" in mi_switch().  The main cause was trap_fatal()
  calling kdb_trap() with interrupts enabled.  Switching to ithreads for
  interrupt handling then made fatal traps more fatal and harder to debug.
  The problem was limited in -current because most interrupt handlers are
  blocked by Giant, but it occurred almost deterministically for me because
  my clock interrupt handlers are non-fast and not blocked by Giant.
  
  Revision  Changes    Path
  1.71      +7 -0      src/sys/i386/i386/db_interface.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-src" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200303241017.h2OAHEB5058289>