diff options
author | 2011-09-21 19:01:49 +0000 | |
---|---|---|
committer | 2011-09-21 19:01:49 +0000 | |
commit | 43b5ee64c8fc957c7c1910e10b3c1d8b09175e9d (patch) | |
tree | b81d4eddec652d1adef554fd257e840be3825d4a | |
parent | include err.h for warnx (diff) | |
download | wireguard-openbsd-43b5ee64c8fc957c7c1910e10b3c1d8b09175e9d.tar.xz wireguard-openbsd-43b5ee64c8fc957c7c1910e10b3c1d8b09175e9d.zip |
Use volatile sig_atomic_t, not int, for the sigs variable. Also
move the call to bell() out of u_interrupt() (a signal handler).
OK and with help from deraadt@
-rw-r--r-- | usr.bin/less/ch.c | 2 | ||||
-rw-r--r-- | usr.bin/less/command.c | 2 | ||||
-rw-r--r-- | usr.bin/less/edit.c | 2 | ||||
-rw-r--r-- | usr.bin/less/forwback.c | 2 | ||||
-rw-r--r-- | usr.bin/less/input.c | 2 | ||||
-rw-r--r-- | usr.bin/less/less.h | 1 | ||||
-rw-r--r-- | usr.bin/less/line.c | 2 | ||||
-rw-r--r-- | usr.bin/less/linenum.c | 2 | ||||
-rw-r--r-- | usr.bin/less/os.c | 2 | ||||
-rw-r--r-- | usr.bin/less/output.c | 2 | ||||
-rw-r--r-- | usr.bin/less/screen.c | 2 | ||||
-rw-r--r-- | usr.bin/less/search.c | 2 | ||||
-rw-r--r-- | usr.bin/less/signal.c | 4 | ||||
-rw-r--r-- | usr.bin/less/tags.c | 2 | ||||
-rw-r--r-- | usr.bin/less/ttyin.c | 2 |
15 files changed, 16 insertions, 15 deletions
diff --git a/usr.bin/less/ch.c b/usr.bin/less/ch.c index 2f66b98732a..2fb4290a236 100644 --- a/usr.bin/less/ch.c +++ b/usr.bin/less/ch.c @@ -126,7 +126,7 @@ static int ch_ungotchar = -1; static int maxbufs = -1; extern int autobuf; -extern int sigs; +extern volatile sig_atomic_t sigs; extern int secure; extern int screen_trashed; extern int follow_mode; diff --git a/usr.bin/less/command.c b/usr.bin/less/command.c index b5b4b82ba0c..2d3f8ec915a 100644 --- a/usr.bin/less/command.c +++ b/usr.bin/less/command.c @@ -22,7 +22,7 @@ #include "cmd.h" extern int erase_char, erase2_char, kill_char; -extern int sigs; +extern volatile sig_atomic_t sigs; extern int quit_if_one_screen; extern int squished; extern int sc_width; diff --git a/usr.bin/less/edit.c b/usr.bin/less/edit.c index 2f5e47498aa..733131536b3 100644 --- a/usr.bin/less/edit.c +++ b/usr.bin/less/edit.c @@ -23,7 +23,7 @@ extern char *every_first_cmd; extern int any_display; extern int force_open; extern int is_tty; -extern int sigs; +extern volatile sig_atomic_t sigs; extern IFILE curr_ifile; extern IFILE old_ifile; extern struct scrpos initial_scrpos; diff --git a/usr.bin/less/forwback.c b/usr.bin/less/forwback.c index ebe422d9446..ac32a0bae1e 100644 --- a/usr.bin/less/forwback.c +++ b/usr.bin/less/forwback.c @@ -22,7 +22,7 @@ public int squished; public int no_back_scroll = 0; public int forw_prompt; -extern int sigs; +extern volatile sig_atomic_t sigs; extern int top_scroll; extern int quiet; extern int sc_width, sc_height; diff --git a/usr.bin/less/input.c b/usr.bin/less/input.c index b82868bca4d..1a5b1f3e113 100644 --- a/usr.bin/less/input.c +++ b/usr.bin/less/input.c @@ -25,7 +25,7 @@ extern int squeeze; extern int chopline; extern int hshift; extern int quit_if_one_screen; -extern int sigs; +extern volatile sig_atomic_t sigs; extern int ignore_eoi; extern int status_col; extern POSITION start_attnpos; diff --git a/usr.bin/less/less.h b/usr.bin/less/less.h index 813e86aa416..fe85105b320 100644 --- a/usr.bin/less/less.h +++ b/usr.bin/less/less.h @@ -83,6 +83,7 @@ #if HAVE_STRING_H #include <string.h> #endif +#include <signal.h> /* OS-specific includes */ #ifdef _OSK diff --git a/usr.bin/less/line.c b/usr.bin/less/line.c index 9a95b02942a..b2ea16ef516 100644 --- a/usr.bin/less/line.c +++ b/usr.bin/less/line.c @@ -46,7 +46,7 @@ static int attr_swidth(); static int attr_ewidth(); static int do_append(); -extern int sigs; +extern volatile sig_atomic_t sigs; extern int bs_mode; extern int linenums; extern int ctldisp; diff --git a/usr.bin/less/linenum.c b/usr.bin/less/linenum.c index 4369f87b266..e676422d1cc 100644 --- a/usr.bin/less/linenum.c +++ b/usr.bin/less/linenum.c @@ -66,7 +66,7 @@ static struct linenum_info pool[NPOOL]; /* The pool itself */ static struct linenum_info *spare; /* We always keep one spare entry */ extern int linenums; -extern int sigs; +extern volatile sig_atomic_t sigs; extern int sc_height; extern int screen_trashed; diff --git a/usr.bin/less/os.c b/usr.bin/less/os.c index 157c15bc116..7060be6a043 100644 --- a/usr.bin/less/os.c +++ b/usr.bin/less/os.c @@ -39,7 +39,7 @@ #define time_type long #endif -extern int sigs; +extern volatile sig_atomic_t sigs; /* * Like read() system call, but is deliberately interruptible. diff --git a/usr.bin/less/output.c b/usr.bin/less/output.c index 164ee4dbf66..0f6417df001 100644 --- a/usr.bin/less/output.c +++ b/usr.bin/less/output.c @@ -23,7 +23,7 @@ public int need_clr; public int final_attr; public int at_prompt; -extern int sigs; +extern volatile sig_atomic_t sigs; extern int sc_width; extern int so_s_width, so_e_width; extern int screen_trashed; diff --git a/usr.bin/less/screen.c b/usr.bin/less/screen.c index c43fe56dbc7..d47b035ac35 100644 --- a/usr.bin/less/screen.c +++ b/usr.bin/less/screen.c @@ -228,7 +228,7 @@ extern int no_back_scroll; extern int swindow; extern int no_init; extern int no_keypad; -extern int sigs; +extern volatile sig_atomic_t sigs; extern int wscroll; extern int screen_trashed; extern int tty; diff --git a/usr.bin/less/search.c b/usr.bin/less/search.c index 26c4df5fd0a..88a2817e0e8 100644 --- a/usr.bin/less/search.c +++ b/usr.bin/less/search.c @@ -21,7 +21,7 @@ #define MINPOS(a,b) (((a) < (b)) ? (a) : (b)) #define MAXPOS(a,b) (((a) > (b)) ? (a) : (b)) -extern int sigs; +extern volatile sig_atomic_t sigs; extern int how_search; extern int caseless; extern int linenums; diff --git a/usr.bin/less/signal.c b/usr.bin/less/signal.c index 02f8f494dfb..701c1be7ef2 100644 --- a/usr.bin/less/signal.c +++ b/usr.bin/less/signal.c @@ -23,7 +23,7 @@ /* * "sigs" contains bits indicating signals which need to be processed. */ -public int sigs; +public volatile sig_atomic_t sigs; extern int sc_width, sc_height; extern int screen_trashed; @@ -41,7 +41,6 @@ extern long jump_sline_fraction; u_interrupt(type) int type; { - bell(); #if OS2 LSIGNAL(SIGINT, SIG_ACK); #endif @@ -236,6 +235,7 @@ psignals() #endif if (tsignals & S_INTERRUPT) { + bell(); if (quit_on_intr) quit(QUIT_INTERRUPT); } diff --git a/usr.bin/less/tags.c b/usr.bin/less/tags.c index a7d920b77af..3c53c13273f 100644 --- a/usr.bin/less/tags.c +++ b/usr.bin/less/tags.c @@ -19,7 +19,7 @@ static int total; static int curseq; extern int linenums; -extern int sigs; +extern volatile sig_atomic_t sigs; enum tag_result { TAG_FOUND, diff --git a/usr.bin/less/ttyin.c b/usr.bin/less/ttyin.c index 00f2c9e4ad5..d4318953879 100644 --- a/usr.bin/less/ttyin.c +++ b/usr.bin/less/ttyin.c @@ -25,7 +25,7 @@ static DWORD console_mode; #endif public int tty; -extern int sigs; +extern volatile sig_atomic_t sigs; extern int utf_mode; /* |