Changeset 12817 for trunk/source/level-1


Ignore:
Timestamp:
Sep 11, 2009, 8:09:35 PM (10 years ago)
Author:
rme
Message:

The xcmain callback actually accepts an additional arg. Use it to pass both
the faulting address and the lisp object when handling a write to a watched
object.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/x86-trap-support.lisp

    r12792 r12817  
    386386;;; If the signal number is 0, other arguments (besides the exception context XP)
    387387;;; may not be meaningful.
    388 (defcallback xcmain (:address xp :address xcf :int signal :long code :long addr :int)
     388(defcallback xcmain (:address xp :address xcf :int signal :long code :long addr :long other :int)
    389389  (let* ((frame-ptr (macptr->fixnum xcf)))
    390390    (cond ((zerop signal)               ;thread interrupt
     
    437437                (%error (make-condition
    438438                         'write-to-watched-object
    439                          :object (%int-to-object addr))
     439                         :address addr
     440                         :object (%int-to-object other))
    440441                        nil frame-ptr)))))
    441442          ((= signal #+win32-target 10 #-win32-target #$SIGBUS)
Note: See TracChangeset for help on using the changeset viewer.