Re: git: 3b2f0bfc3516 - main - Add POSIX psiginfo(3) call
Date: Thu, 17 Apr 2025 15:27:26 UTC
On Thu, Apr 17, 2025 at 9:20 AM Konstantin Belousov <kib@freebsd.org> wrote:
>
> The branch main has been updated by kib:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=3b2f0bfc35167724a41c969c1823be6b1ede15ab
>
> commit 3b2f0bfc35167724a41c969c1823be6b1ede15ab
> Author: Ricardo Branco <rbranco@suse.de>
> AuthorDate: 2025-04-16 07:52:13 +0000
> Commit: Konstantin Belousov <kib@FreeBSD.org>
> CommitDate: 2025-04-17 15:19:44 +0000
>
> Add POSIX psiginfo(3) call
>
> Signed-off-by: Ricardo Branco <rbranco@suse.de>
> PR: 286133
> MFC after: 1 week
> Github PR: https://github.com/freebsd/freebsd-src/pull/1666
We've been using 'Pull Request: ' for this trailer.
Warner
> ---
> include/signal.h | 1 +
> lib/libc/gen/Makefile.inc | 3 ++-
> lib/libc/gen/Symbol.map | 1 +
> lib/libc/gen/psignal.3 | 22 +++++++++++++++++++++-
> lib/libc/gen/psignal.c | 6 ++++++
> 5 files changed, 31 insertions(+), 2 deletions(-)
>
> diff --git a/include/signal.h b/include/signal.h
> index 388e164d7943..c1d341f317f4 100644
> --- a/include/signal.h
> +++ b/include/signal.h
> @@ -115,6 +115,7 @@ int siginterrupt(int, int);
> #endif
>
> #if __POSIX_VISIBLE >= 200809
> +void psiginfo(const siginfo_t *, const char *);
> void psignal(int, const char *);
> #endif
>
> diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc
> index 9b92e52cdfad..a8308a057b05 100644
> --- a/lib/libc/gen/Makefile.inc
> +++ b/lib/libc/gen/Makefile.inc
> @@ -465,7 +465,8 @@ MLINKS+=posix_spawn.3 posix_spawnp.3 \
> posix_spawnattr_getsigdefault.3 posix_spawnattr_setsigdefault.3 \
> posix_spawnattr_getsigmask.3 posix_spawnattr_setsigmask.3 \
> posix_spawnattr_init.3 posix_spawnattr_destroy.3
> -MLINKS+=psignal.3 strsignal.3 \
> +MLINKS+=psignal.3 psiginfo.3 \
> + psignal.3 strsignal.3 \
> psignal.3 sys_siglist.3 \
> psignal.3 sys_signame.3
> MLINKS+=pwcache.3 gid_from_group.3 \
> diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map
> index ca3974e6b747..21b66acba213 100644
> --- a/lib/libc/gen/Symbol.map
> +++ b/lib/libc/gen/Symbol.map
> @@ -458,6 +458,7 @@ FBSD_1.8 {
> aio_read2;
> aio_write2;
> execvpe;
> + psiginfo;
> rtld_get_var;
> rtld_set_var;
> };
> diff --git a/lib/libc/gen/psignal.3 b/lib/libc/gen/psignal.3
> index cd3cef0b44a9..605c3cf2d8fe 100644
> --- a/lib/libc/gen/psignal.3
> +++ b/lib/libc/gen/psignal.3
> @@ -25,11 +25,12 @@
> .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> .\" SUCH DAMAGE.
> .\"
> -.Dd May 30, 2016
> +.Dd Apr 16, 2025
> .Dt PSIGNAL 3
> .Os
> .Sh NAME
> .Nm psignal ,
> +.Nm psiginfo ,
> .Nm strsignal ,
> .Nm sys_siglist ,
> .Nm sys_signame
> @@ -40,6 +41,8 @@
> .In signal.h
> .Ft void
> .Fn psignal "int sig" "const char *s"
> +.Ft void
> +.Fn psiginfo "const siginfo_t *si" "const char *s"
> .Vt extern const char * const sys_siglist[] ;
> .Vt extern const char * const sys_signame[] ;
> .In string.h
> @@ -79,6 +82,16 @@ the string
> .Dq "Unknown signal"
> is produced.
> .Pp
> +The
> +.Fn psiginfo
> +function is similar to
> +.Fn psignal ,
> +except that the signal number information is taken from the
> +.Fa si
> +argument which is a
> +.Vt siginfo_t
> +structure.
> +.Pp
> The message strings can be accessed directly
> through the external array
> .Va sys_siglist ,
> @@ -104,3 +117,10 @@ The
> .Fn psignal
> function appeared in
> .Bx 4.2 .
> +The
> +.Fn psiginfo
> +function appeared in
> +.Fx 15.0 ,
> +.Nx 6.0 ,
> +and
> +.Dx 4.1 .
> diff --git a/lib/libc/gen/psignal.c b/lib/libc/gen/psignal.c
> index ab044f683d86..291a6a9337a0 100644
> --- a/lib/libc/gen/psignal.c
> +++ b/lib/libc/gen/psignal.c
> @@ -55,3 +55,9 @@ psignal(int sig, const char *s)
> (void)_write(STDERR_FILENO, c, strlen(c));
> (void)_write(STDERR_FILENO, "\n", 1);
> }
> +
> +void
> +psiginfo(const siginfo_t *si, const char *s)
> +{
> + psignal(si->si_signo, s);
> +}