- (stevesk) don't set SA_RESTART and set SIGCHLD to SIG_DFL
around grantpt().
This commit is contained in:
parent
7a83722577
commit
974fb9cf2f
|
@ -1,3 +1,7 @@
|
||||||
|
20010615
|
||||||
|
- (stevesk) don't set SA_RESTART and set SIGCHLD to SIG_DFL
|
||||||
|
around grantpt().
|
||||||
|
|
||||||
20010614
|
20010614
|
||||||
- OpenBSD CVS Sync
|
- OpenBSD CVS Sync
|
||||||
- markus@cvs.openbsd.org 2001/06/13 09:10:31
|
- markus@cvs.openbsd.org 2001/06/13 09:10:31
|
||||||
|
@ -5644,4 +5648,4 @@
|
||||||
- Wrote replacements for strlcpy and mkdtemp
|
- Wrote replacements for strlcpy and mkdtemp
|
||||||
- Released 1.0pre1
|
- Released 1.0pre1
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.1286 2001/06/13 19:23:32 mouring Exp $
|
$Id: ChangeLog,v 1.1287 2001/06/15 00:04:23 stevesk Exp $
|
||||||
|
|
4
misc.c
4
misc.c
|
@ -280,10 +280,6 @@ mysignal(int sig, mysig_t act)
|
||||||
memset(&sa, 0, sizeof(sa));
|
memset(&sa, 0, sizeof(sa));
|
||||||
sigemptyset(&sa.sa_mask);
|
sigemptyset(&sa.sa_mask);
|
||||||
sa.sa_flags = 0;
|
sa.sa_flags = 0;
|
||||||
#if defined(SA_RESTART)
|
|
||||||
if (sig == SIGCHLD)
|
|
||||||
sa.sa_flags |= SA_RESTART;
|
|
||||||
#endif
|
|
||||||
#if defined(SA_INTERRUPT)
|
#if defined(SA_INTERRUPT)
|
||||||
if (sig == SIGALRM)
|
if (sig == SIGALRM)
|
||||||
sa.sa_flags |= SA_INTERRUPT;
|
sa.sa_flags |= SA_INTERRUPT;
|
||||||
|
|
4
sshpty.c
4
sshpty.c
|
@ -20,6 +20,7 @@ RCSID("$OpenBSD: sshpty.c,v 1.1 2001/03/04 01:46:30 djm Exp $");
|
||||||
|
|
||||||
#include "sshpty.h"
|
#include "sshpty.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
#include "misc.h"
|
||||||
|
|
||||||
/* Pty allocated with _getpty gets broken if we do I_PUSH:es to it. */
|
/* Pty allocated with _getpty gets broken if we do I_PUSH:es to it. */
|
||||||
#if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY)
|
#if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY)
|
||||||
|
@ -93,16 +94,19 @@ pty_allocate(int *ptyfd, int *ttyfd, char *namebuf, int namebuflen)
|
||||||
*/
|
*/
|
||||||
int ptm;
|
int ptm;
|
||||||
char *pts;
|
char *pts;
|
||||||
|
mysig_t old_signal;
|
||||||
|
|
||||||
ptm = open("/dev/ptmx", O_RDWR | O_NOCTTY);
|
ptm = open("/dev/ptmx", O_RDWR | O_NOCTTY);
|
||||||
if (ptm < 0) {
|
if (ptm < 0) {
|
||||||
error("/dev/ptmx: %.100s", strerror(errno));
|
error("/dev/ptmx: %.100s", strerror(errno));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
old_signal = mysignal(SIGCHLD, SIG_DFL);
|
||||||
if (grantpt(ptm) < 0) {
|
if (grantpt(ptm) < 0) {
|
||||||
error("grantpt: %.100s", strerror(errno));
|
error("grantpt: %.100s", strerror(errno));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
mysignal(SIGCHLD, old_signal);
|
||||||
if (unlockpt(ptm) < 0) {
|
if (unlockpt(ptm) < 0) {
|
||||||
error("unlockpt: %.100s", strerror(errno));
|
error("unlockpt: %.100s", strerror(errno));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue