--- rxvt-unicode/src/ptytty.C 2006/01/11 20:46:46 1.32 +++ rxvt-unicode/src/ptytty.C 2006/01/17 10:19:13 1.35 @@ -90,14 +90,18 @@ #endif #if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT) -# if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_PTMX) +# if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_POSIX) || defined(PTYS_ARE_PTMX) { # ifdef PTYS_ARE_GETPT - pfd = getpt (); + pfd = getpt(); +# else +# ifdef PTYS_ARE_POSIX + pfd = posix_openpt (O_RDWR); # else pfd = open ("/dev/ptmx", O_RDWR | O_NOCTTY, 0); # endif +# endif if (pfd >= 0) { @@ -370,10 +374,14 @@ #ifndef NO_SETOWNER_TTYDEV saved = false; #endif +#if UTMP_SUPPORT + cmd_pid = 0; +#endif } rxvt_ptytty::~rxvt_ptytty () { + logout (); put (); }