https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=212173

--- Comment #5 from Konstantin Belousov <k...@freebsd.org> ---
If my reading of the code is right, the count of actually delivered signals is
7, which coincides with the signals[] array size.  In your printfs, signo 2 ==
SIGINT is listed twice, as it should be.  The ndelivered value is 6, it is set
to the return value of sigorder() and sigorder() returned 6.

sigorder() seems to try to eliminate duplicates for signals < SIGRTMIN, which
means that two SIGINTs are merged into one entry in the 'ordered' array.  This
is exactly what you see.

OTOH, FreeBSD behaviour is to treat all signals as realtime while there is no
mem shortage and siginfo can be allocated.  In particular, signals < SIGRTMIN
are not collapsed when queued more than once.

I.e. the test behaviour is exactly opposite to what you claimed in the bug
description.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to