This is the mail archive of the frysk@sourceware.org mailing list for the frysk project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Mike, Yesterday evening on irc we discussed some troubles with Instruction observers for newly started processes. Going over the ptrace task state machine for my breakpoint stepping work I cleaned up the logic a little to have all state transitions into any Running state go through the same Running.sendContinue() method removing a couple corner cases where the first continue of a Task might miss the step or signal continue. LinuxTaskState now also explicitly checks the syscall observers installed instead of keeping its own state which might (theoretically, I haven't actually seen this happen) get out of sync, which simplifies the logic a lot. This might not actually fix your issue since if I understood correctly it was that the Task wasn't getting out of the blocked state and none of the logic changes with respect to that. But the code should be more clean and consistent which might help tracking down the issue. Cheers, Mark 2007-06-19 Mark Wielaard <mwielaard@redhat.com * LinuxTaskState.java (clonedState): No more syscallRunning and inSyscallRunningTraced. (transitionToRunningState): Use Running.sendContinue() return value. (attemptContinue): Likewise. (blockedOffspring.handleUnblock): Likewise. (Running.syscalltracing): Removed. (Running): Removed syscalltracing argument. (sendContinue): Return new state. Check number of syscallObservers. (handleSignaledEvent): Return sendContinue value. (handleStoppedEvent(: Likewise. (handleTerminatingEvent): Likewise. (handleExecedEvent): Simplify logic, don't check observer, but use sendContinue. (handleClonedEvent): Return sendContinue value. (handleForkedEvent): Likewise. (handleTrappedEvent): Likewise. (handleSyscalledEvent): Check number of syscallObservers and return sendContinue value. (syscallRunning): Removed. (inSyscallRunningTraced): Removed. (BlockedSignal.handleUnblock): Return sendContinue value.
Attachment:
signature.asc
Description: This is a digitally signed message part
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |