User Details
- User Since
- Oct 12 2015, 9:33 PM (477 w, 1 d)
May 23 2017
May 21 2017
May 12 2017
May 11 2017
Apr 27 2017
Apr 26 2017
Mar 25 2017
Mar 18 2017
Mar 16 2017
Mar 13 2017
Hmm, if the return is fired here, both parent and child report the same pid (the parent's pid). It would be nice if the child reported its new pid. Why not fire in fork_return() ? One might use td_dbg_sc_code to store which fork variant we should fire the probe for.
Mar 11 2017
- Add kyua test
- restore SIGKILL: in comment
Mar 10 2017
Mar 7 2017
Mar 6 2017
Mar 5 2017
Feb 27 2017
- Remove procfs' README file
Feb 25 2017
Feb 23 2017
Feb 22 2017
Feb 20 2017
Feb 18 2017
- style fix
Feb 17 2017
- Add sq_ptrace
- check for P_KILLED inside while loop
- Add tests for full sigqueue and competing stop events
Feb 16 2017
Feb 14 2017
- Make comparisons against NULL/0 explicit
Feb 13 2017
- Style/spelling corrections
- Style/spelling corrections
Feb 12 2017
John - your PT_KILL tests are in this diff since I've been running with them, but I'll remove them before commit to preserve provenance (unless you ask me otherwise).
Take a different direction
Feb 11 2017
- thread_suspend_check: don't sleep if return_instead is 1
- Remove early return that can no longer be hit. Move
- remove redundant conditional
- undo thread_suspend_check_changes
- sleepq_catch_signals: check for suspension before signals
- Use ternary conditional to save lines (note: wrapped at 80 cols)
I first tried putting in a loop that would retry the signal check after suspension if TDF_NEEDSIGCHK was true, but that was tricky since TDF_NEEDSIGCHK can be true even when cursig() will return 0 (there is a potential loop that needs to be broken somehow).
- undo thread_suspend_check_changes
- sleepq_catch_signals: check for suspension before signals
Feb 10 2017
Perhaps an alternative solution would be to recheck TDF_NEEDSIGCHK after returning from thread_suspend_check(), and only in that case do a ERESTART/EINTR? (just brainstorming)
- remove redundant conditional
Here is a more detailed description of the problem:
- Remove early return that can no longer be hit. Move general case early return after more specific case.
Thanks. In fact it seems like this block:
Jan 31 2017
In testing, I find that sending a signal from multiple ptracestop() calls before having a chance to deliver any signals does not work as I'd expect. I now think it would be best, if a ptracestop() call wants to send a new signal to the process but there is already a deferred signal, it should be replaced by the new one.
Jan 23 2017
So in the places where there's a printf now ("Dropping signal from ptracestop") you'd tdsignal() (or some other variant) the return value of ptracestop()? Won't that cause a second, unexpected stop when the time comes to actually act on the signal? (the ptracestop() in kern_sig.c, which, in this review's patch, I skip if there's already a pending signal from the debugger)
Jan 20 2017
Dec 17 2016
Optionally stop scheduler when using "reboot -d". I considered a couple of
other options:
Nov 23 2016
Thanks mav. Originally, I'd thought stopping the scheduler when using 'reboot -d' was the correct way. kib and I discussed a bit though, and I was convinced to look for another option ( https://lists.freebsd.org/pipermail/freebsd-hackers/2016-November/050108.html ). Your first bullet would seem to suggest that stopping the scheduler is necessary.
Nov 22 2016
Giving this review a gentle prod in case anyone willing to review might have forgotten about it. I'd also appreciate any suggestions of reviewers if folks in the current set don't have time to review or feel it's outside their area. Thanks.
Nov 5 2016
Nov 4 2016
Oct 3 2016
Sep 24 2016
Sep 19 2016
Sep 15 2016
Minor tweaks:
Sep 13 2016
Aug 31 2016
Aug 30 2016
Aug 23 2016
Aug 22 2016
Aug 19 2016
Aug 18 2016
Remove @PREFIX@.