This is the mail archive of the
frysk-bugzilla@sourceware.org
mailing list for the frysk project.
[Bug general/3639] fc6: testTerminateKillKILL(frysk.proc.TestTaskTerminateObserver)
- From: "cmoller at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: frysk-bugzilla at sourceware dot org
- Date: 27 Mar 2007 16:07:33 -0000
- Subject: [Bug general/3639] fc6: testTerminateKillKILL(frysk.proc.TestTaskTerminateObserver)
- References: <20061204180758.3639.cmoller@redhat.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From cmoller at redhat dot com 2007-03-27 17:07 -------
Here's what's happening:
1. Wait.cxx:processStatus() decodes the waitpid status and if (WIFSTOPPED
(status) && (PTRACE_EVENT_EXIT == WSTOPEVENT (status))) it calls exitEvent()
2. LinuxPtraceHost.PollWaitOnSigChld.exitEvent() calls processTerminatingEvent()
3. Task.processTerminatingEvent() calls .handleTerminatingEvent()
4. LinuxPtraceTaskState.handleTerminatingEvent() calls notifyTerminating()
5. Task.notifyTerminating() calls updateTerminating()
6. TestTaskTerminateObserver. updateTerminating sets the int terminating value.
If, in Wait.cxx:processStatus(), status == 9, (KILL), WIFSIGNALED (status) is
true rather than WIFSTOPPED (status), so none of the foregoing happens, causing
the test to fail. What I don't know is if the process described above is in
fact what the programmer who wrote it intended and the test exercises conditions
that weren't meant to be exercised, or if the process described is flawed or
incomplete.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=3639
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.