git: df16cbdcf192 - main - mail: remove the SIGHUP handler from lex.c
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 14 May 2025 19:20:47 UTC
The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=df16cbdcf1927200eb910c1874faee6f3d8b9a97 commit df16cbdcf1927200eb910c1874faee6f3d8b9a97 Author: Kyle Evans <kevans@FreeBSD.org> AuthorDate: 2025-05-14 19:20:16 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2025-05-14 19:20:34 +0000 mail: remove the SIGHUP handler from lex.c If the command is simply going to exit without doing any cleanup, then an immediate exit(3) does not add any value and in-fact obscures that the program was terminated by a signal. This is motivated by POSIX conformance requirements, but it's also a little bit of a tidy-up. Some investigation into the history of mail(1) shows that, at one point, hangup() would attempt to save messages into mbox before exiting. It was later transformed into a simple exit() and likely could have been GC'd at that point. Reviewed by: des, emaste, ivy Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50247 --- usr.bin/mail/extern.h | 1 - usr.bin/mail/lex.c | 13 ------------- 2 files changed, 14 deletions(-) diff --git a/usr.bin/mail/extern.h b/usr.bin/mail/extern.h index efcba2141512..6eea9c1f1f88 100644 --- a/usr.bin/mail/extern.h +++ b/usr.bin/mail/extern.h @@ -131,7 +131,6 @@ int getrawlist(char *, char **, int); uid_t getuserid(char *); int grabh(struct header *, int); int group(void *); -void hangup(int); int hash(const char *); void hdrstop(int); int headers(void *); diff --git a/usr.bin/mail/lex.c b/usr.bin/mail/lex.c index 1043dd2d4706..2d86a17c13e9 100644 --- a/usr.bin/mail/lex.c +++ b/usr.bin/mail/lex.c @@ -199,8 +199,6 @@ commands(void) if (!sourcing) { if (signal(SIGINT, SIG_IGN) != SIG_IGN) (void)signal(SIGINT, intr); - if (signal(SIGHUP, SIG_IGN) != SIG_IGN) - (void)signal(SIGHUP, hangup); (void)signal(SIGTSTP, stop); (void)signal(SIGTTOU, stop); (void)signal(SIGTTIN, stop); @@ -567,17 +565,6 @@ stop(int s) } } -/* - * Branch here on hangup signal and simulate "exit". - */ -void -hangup(int s __unused) -{ - - /* nothing to do? */ - exit(1); -} - /* * Announce the presence of the current Mail version, * give the message count, and print a header listing.