bug#80380: [patch]sort: make sighandler async-signal-safe
Paul Eggert <[email protected]> Wed, 11 Feb 2026 11:39:12 -0800
| Newsgroups | gmane.comp.gnu.core-utils.bugs |
|---|---|
| Organization | UCLA Computer Science Department |
| Message-ID | <[email protected]> |
On 2026-02-10 23:06, 左洪盛 wrote: > From d52984cc2e356797789deb221a637f5cf5890107 Mon Sep 17 00:00:00 2001 > From: Zuo <[email protected]> > Date: Wed, 11 Feb 2026 14:16:38 +0800 > Subject: [PATCH] sort: make sighandler async-signal-safe > > * src/sort.c (main,sighandler): Make sighandler async-signal-safe > by removing non-async-signal-safe calls from signal handler. > Use SA_RESETHAND flag and call unlink() directly. I don't see why this patch is needed; on the contrary, it seems to introduce a bug. Currently, the signal handler of 'sort' uses only the system calls 'unlink', 'signal', and 'raise', all of which are async-signal-safe. So the patch does not make 'sort' any more async-signal-safe than it already is. There is no need to call '_exit', as 'raise' causes a signal to be delivered, which causes the program to exit. Using SA_RESETHAND would introduce a race condition bug, as a signal could arrive during signal handling and this would kill the process, which means temporary files would not be cleaned up.