diff options
| author | Theodore Tso <tytso@mit.edu> | 1997-03-28 06:07:24 +0000 |
|---|---|---|
| committer | Theodore Tso <tytso@mit.edu> | 1997-03-28 06:07:24 +0000 |
| commit | 6c0324c0e6792df13fb4520924ba576b7613c900 (patch) | |
| tree | feafc580d6639fdb5bd3620cc73752af0efa80f4 /src | |
| parent | d33420d1df9d1d0146e3dbeb9658f12563e1e367 (diff) | |
When falling back to the normal rlogin, clear the signal mask, so that
the child rlogin handles SIGUSR1 (which is used for window size
changes) correctly. [krb5-appl/335]
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10032 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
| -rw-r--r-- | src/appl/bsd/ChangeLog | 7 | ||||
| -rw-r--r-- | src/appl/bsd/krlogin.c | 9 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/appl/bsd/ChangeLog b/src/appl/bsd/ChangeLog index df05407a8..e588b0000 100644 --- a/src/appl/bsd/ChangeLog +++ b/src/appl/bsd/ChangeLog @@ -1,3 +1,10 @@ +Fri Mar 28 01:05:27 1997 Theodore Y. Ts'o <tytso@mit.edu> + + * krlogin.c (try_normal): When falling back to the normal rlogin, + clear the signal mask, so that the child rlogin handles + SIGUSR1 (which is used for window size changes) correctly. + [krb5-appl/335] + Tue Mar 18 12:34:03 1997 Sam Hartman <hartmans@luminous.MIT.EDU> [326] * login.c(doit): Preserve terminal even without -p. diff --git a/src/appl/bsd/krlogin.c b/src/appl/bsd/krlogin.c index b4288773f..e0bb4e83d 100644 --- a/src/appl/bsd/krlogin.c +++ b/src/appl/bsd/krlogin.c @@ -1565,6 +1565,10 @@ void try_normal(argv) char **argv; { register char *host; +#ifdef POSIX_SIGNALS + struct sigaction sa; + sigest_t mask; +#endif #ifndef KRB5_ATHENA_COMPAT if (encrypt_flag) @@ -1582,6 +1586,11 @@ void try_normal(argv) if (!strcmp(host, "rlogin")) argv++; +#ifdef POSIX_SIGNALS + sigemptyset(&mask) + sigprocmask(SIG_SETMASK, &mask, NULL); +#endif + execv(UCB_RLOGIN, argv); perror("exec"); exit(1); |
