mgorny marked an inline comment as done.
mgorny added a comment.
In D64647#1583429 <https://reviews.llvm.org/D64647#1583429>, @krytarowski wrote:
> Something that we do not cover here is that once a tracee reports a signal
> (like someone poked it with SIGUSR1) and we want to pass it over to the
> tracee, we will reset siginfo.
>
> This scenario should be covered by a test and we should handle it properly..
>
> The solution in NetBSD for passing over signals without changing siginfo, is
> to not calling PT_SET_SIGINFO as the default one will be kept by the kernel.
> Optionally pick old siginfo with PT_GET_SIGINFO and optionally change
> destination lwp.
How is 'properly'? Should we reject resuming with a signal when there's already
another signal pending?
================
Comment at: lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp:354
+ if (signal != LLDB_INVALID_SIGNAL_NUMBER && signal != action->signal)
+ return Status("NetBSD does not support passing multiple signals
simultaneously");
----------------
labath wrote:
> krytarowski wrote:
> > mgorny wrote:
> > > labath wrote:
> > > > Is this "passing multiple signals simultaneously", or "passing multiple
> > > > *distinct* signals simultaneously". (E.g,. thread 1 gets a SIGALRM,
> > > > thread 2 gets SIGIO, etc.).
> > > The former. Basically there's one siginfo slot, so you can either put a
> > > signal for whole process, or for one LWP.
> > Once we emit a single signal to all threads, it's still technically a
> > single signal that hits the process.
> Ok, that makes sense. But I don't think that's what the code does right now
> (IIUC, this line will only fire if the current signal is different that the
> signal sent to the previous thread).
There's a second `if` on line 400 that verifies the number of threads signaled.
The idea is that we have either:
* exactly one thread signaled,
* all threads signaled with the same signal.
Here we check for the 'same signal' condition.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64647/new/
https://reviews.llvm.org/D64647
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits