Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Apr 2017 21:31:37 +0000 (UTC)
From:      Jilles Tjoelker <jilles@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r317298 - head/bin/sh
Message-ID:  <201704222131.v3MLVb6k097759@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jilles
Date: Sat Apr 22 21:31:37 2017
New Revision: 317298
URL: https://svnweb.freebsd.org/changeset/base/317298

Log:
  sh: Simplify setinteractive().
  
  setsignal() does nothing if the signal disposition is already set correctly.

Modified:
  head/bin/sh/options.c
  head/bin/sh/trap.c
  head/bin/sh/trap.h

Modified: head/bin/sh/options.c
==============================================================================
--- head/bin/sh/options.c	Sat Apr 22 21:26:15 2017	(r317297)
+++ head/bin/sh/options.c	Sat Apr 22 21:31:37 2017	(r317298)
@@ -131,7 +131,7 @@ procargs(int argc, char **argv)
 void
 optschanged(void)
 {
-	setinteractive(iflag);
+	setinteractive();
 #ifndef NO_HISTORY
 	histedit();
 #endif

Modified: head/bin/sh/trap.c
==============================================================================
--- head/bin/sh/trap.c	Sat Apr 22 21:26:15 2017	(r317297)
+++ head/bin/sh/trap.c	Sat Apr 22 21:31:37 2017	(r317298)
@@ -478,19 +478,14 @@ dotrap(void)
 
 
 /*
- * Controls whether the shell is interactive or not.
+ * Controls whether the shell is interactive or not based on iflag.
  */
 void
-setinteractive(int on)
+setinteractive(void)
 {
-	static int is_interactive = -1;
-
-	if (on == is_interactive)
-		return;
 	setsignal(SIGINT);
 	setsignal(SIGQUIT);
 	setsignal(SIGTERM);
-	is_interactive = on;
 }
 
 

Modified: head/bin/sh/trap.h
==============================================================================
--- head/bin/sh/trap.h	Sat Apr 22 21:26:15 2017	(r317297)
+++ head/bin/sh/trap.h	Sat Apr 22 21:31:37 2017	(r317298)
@@ -43,6 +43,6 @@ void ignoresig(int);
 int issigchldtrapped(void);
 void onsig(int);
 void dotrap(void);
-void setinteractive(int);
+void setinteractive(void);
 void exitshell(int) __dead2;
 void exitshell_savedstatus(void) __dead2;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201704222131.v3MLVb6k097759>