summaryrefslogtreecommitdiffstats
path: root/bin/csh/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/csh/file.c')
-rw-r--r--bin/csh/file.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/bin/csh/file.c b/bin/csh/file.c
index 523844d..3a89d34 100644
--- a/bin/csh/file.c
+++ b/bin/csh/file.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)file.c 8.2 (Berkeley) 3/19/94";
+static char sccsid[] = "@(#)file.c 8.4 (Berkeley) 5/6/95";
#endif /* not lint */
#ifdef FILEC
@@ -138,9 +138,11 @@ static void
back_to_col_1()
{
struct termios tty, tty_normal;
- int omask;
+ sigset_t sigset, osigset;
- omask = sigblock(sigmask(SIGINT));
+ sigemptyset(&sigset);
+ sigaddset(&sigset, SIGINT);
+ sigprocmask(SIG_BLOCK, &sigset, &osigset);
(void) tcgetattr(SHOUT, &tty);
tty_normal = tty;
tty.c_iflag &= ~INLCR;
@@ -148,7 +150,7 @@ back_to_col_1()
(void) tcsetattr(SHOUT, TCSANOW, &tty);
(void) write(SHOUT, "\r", 1);
(void) tcsetattr(SHOUT, TCSANOW, &tty_normal);
- (void) sigsetmask(omask);
+ sigprocmask(SIG_SETMASK, &osigset, NULL);
}
/*
@@ -160,10 +162,12 @@ pushback(string)
{
register Char *p;
struct termios tty, tty_normal;
- int omask;
+ sigset_t sigset, osigset;
char c;
- omask = sigblock(sigmask(SIGINT));
+ sigemptyset(&sigset);
+ sigaddset(&sigset, SIGINT);
+ sigprocmask(SIG_BLOCK, &sigset, &osigset);
(void) tcgetattr(SHOUT, &tty);
tty_normal = tty;
tty.c_lflag &= ~(ECHOKE | ECHO | ECHOE | ECHOK | ECHONL | ECHOPRT | ECHOCTL);
@@ -172,7 +176,7 @@ pushback(string)
for (p = string; (c = *p) != '\0'; p++)
(void) ioctl(SHOUT, TIOCSTI, (ioctl_t) & c);
(void) tcsetattr(SHOUT, TCSANOW, &tty_normal);
- (void) sigsetmask(omask);
+ sigprocmask(SIG_SETMASK, &osigset, NULL);
}
/*
@@ -416,12 +420,14 @@ free_items(items)
}
#define FREE_ITEMS(items) { \
- int omask;\
+ sigset_t sigset, osigset;\
\
- omask = sigblock(sigmask(SIGINT));\
+ sigemptyset(&sigset);\
+ sigaddset(&sigset, SIGINT);\
+ sigprocmask(SIG_BLOCK, &sigset, &osigset);\
free_items(items);\
items = NULL;\
- (void) sigsetmask(omask);\
+ sigprocmask(SIG_SETMASK, &osigset, NULL);\
}
/*
OpenPOWER on IntegriCloud