git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] lockfile: reset the correct signal

From
Clemens Buchacher <drizzd@aon.at>
Date
May 26, 2008, 19:35 UTC
Message-ID
<20080526193513.GA9978@localhost>
In-Reply-To
<alpine.DEB.1.00.0805261031480.30431@racer>

In the function remove_lock_file_on_signal(), the signal handler for SIGINT was reset, ignoring the parameter signo.

This did not pose a problem yet, as remove_lock_file_on_signal() was only registered as a SIGINT handler.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
---
On Mon, May 26, 2008 at 10:34:11AM +0100, Johannes Schindelin wrote:
> Only from the patch did I understand that you actually meant:
Thank you for fixing that.

I also realized that using signals like that can cause races. Shouldn't we use sigaction() instead of signal()?

Clemens
---
 lockfile.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lockfile.c b/lockfile.c
index 663f18f..b0118d0 100644
--- a/lockfile.c
+++ b/lockfile.c
@@ -24,7 +24,7 @@ static void remove_lock_file(void)
 static void remove_lock_file_on_signal(int signo)
 {
 	remove_lock_file();
-	signal(SIGINT, SIG_DFL);
+	signal(signo, SIG_DFL);
 	raise(signo);
 }
 
-- 
1.5.5.1
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 6 of 9 in “http-push: remove remote locks on exit signals”
  1. http-push: remove remote locks on exit signalsClemens Buchacher, May 22, 2008
  2. Junio C HamanoMay 23, 2008
  3. Clemens BuchacherMay 23, 2008
  4. Reset the signal being handledClemens Buchacher, May 25, 2008
  5. Johannes SchindelinMay 26, 2008
  6. lockfile: reset the correct signalClemens Buchacher, May 26, 2008
  7. Johannes SchindelinMay 26, 2008
  8. Clemens BuchacherMay 27, 2008
  9. http-push: remove remote locks on exit signalsClemens Buchacher, May 25, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.