mirror of https://github.com/python/cpython
Expose I_ constants. Auto-detect stropts.h. Properly configure the slave terminal.
This commit is contained in:
parent
33fb554a13
commit
14e73b1864
12
Lib/pty.py
12
Lib/pty.py
|
@ -86,7 +86,17 @@ def slave_open(tty_name):
|
||||||
opened filedescriptor.
|
opened filedescriptor.
|
||||||
Deprecated, use openpty() instead."""
|
Deprecated, use openpty() instead."""
|
||||||
|
|
||||||
return os.open(tty_name, os.O_RDWR)
|
result = os.open(tty_name, os.O_RDWR)
|
||||||
|
try:
|
||||||
|
from fcntl import ioctl, I_PUSH
|
||||||
|
except ImportError:
|
||||||
|
return result
|
||||||
|
try:
|
||||||
|
ioctl(result, I_PUSH, "ptem")
|
||||||
|
ioctl(result, I_PUSH, "ldterm")
|
||||||
|
except IOError:
|
||||||
|
pass
|
||||||
|
return result
|
||||||
|
|
||||||
def fork():
|
def fork():
|
||||||
"""fork() -> (pid, master_fd)
|
"""fork() -> (pid, master_fd)
|
||||||
|
|
38
Misc/NEWS
38
Misc/NEWS
|
@ -4,6 +4,44 @@ Python News
|
||||||
|
|
||||||
(editors: check NEWS.help for information about editing NEWS using ReST.)
|
(editors: check NEWS.help for information about editing NEWS using ReST.)
|
||||||
|
|
||||||
|
What's New in Python 2.3 alpha 2?
|
||||||
|
=================================
|
||||||
|
|
||||||
|
*Release date: XX-XXX-2003
|
||||||
|
|
||||||
|
Core and builtins
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Extension modules
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
- fcntl now exposes the strops.h I_* constants.
|
||||||
|
|
||||||
|
Library
|
||||||
|
-------
|
||||||
|
|
||||||
|
Tools/Demos
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Build
|
||||||
|
-----
|
||||||
|
|
||||||
|
C API
|
||||||
|
-----
|
||||||
|
|
||||||
|
New platforms
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Tests
|
||||||
|
-----
|
||||||
|
|
||||||
|
Windows
|
||||||
|
-------
|
||||||
|
|
||||||
|
Mac
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
What's New in Python 2.3 alpha 1?
|
What's New in Python 2.3 alpha 1?
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,9 @@
|
||||||
|
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#ifdef HAVE_STROPTS_H
|
||||||
|
#include <stropts.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
static int
|
static int
|
||||||
conv_descriptor(PyObject *object, int *target)
|
conv_descriptor(PyObject *object, int *target)
|
||||||
|
@ -337,6 +339,8 @@ ins(PyObject* d, char* symbol, long value)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define INS(x) if (ins(d, #x, (long)x)) return -1
|
||||||
|
|
||||||
static int
|
static int
|
||||||
all_ins(PyObject* d)
|
all_ins(PyObject* d)
|
||||||
{
|
{
|
||||||
|
@ -459,6 +463,39 @@ all_ins(PyObject* d)
|
||||||
if (ins(d, "DN_MULTISHOT", (long)DN_MULTISHOT)) return -1;
|
if (ins(d, "DN_MULTISHOT", (long)DN_MULTISHOT)) return -1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_STROPTS_H
|
||||||
|
/* Unix 98 guarantees that these are in stropts.h. */
|
||||||
|
INS(I_PUSH);
|
||||||
|
INS(I_POP);
|
||||||
|
INS(I_LOOK);
|
||||||
|
INS(I_FLUSH);
|
||||||
|
INS(I_FLUSHBAND);
|
||||||
|
INS(I_SETSIG);
|
||||||
|
INS(I_GETSIG);
|
||||||
|
INS(I_FIND);
|
||||||
|
INS(I_PEEK);
|
||||||
|
INS(I_SRDOPT);
|
||||||
|
INS(I_GRDOPT);
|
||||||
|
INS(I_NREAD);
|
||||||
|
INS(I_FDINSERT);
|
||||||
|
INS(I_STR);
|
||||||
|
INS(I_SWROPT);
|
||||||
|
INS(I_GWROPT);
|
||||||
|
INS(I_SENDFD);
|
||||||
|
INS(I_RECVFD);
|
||||||
|
INS(I_LIST);
|
||||||
|
INS(I_ATMARK);
|
||||||
|
INS(I_CKBAND);
|
||||||
|
INS(I_GETBAND);
|
||||||
|
INS(I_CANPUT);
|
||||||
|
INS(I_SETCLTIME);
|
||||||
|
INS(I_GETCLTIME);
|
||||||
|
INS(I_LINK);
|
||||||
|
INS(I_UNLINK);
|
||||||
|
INS(I_PLINK);
|
||||||
|
INS(I_PUNLINK);
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2726,8 +2726,8 @@ posix_fork(PyObject *self, PyObject *args)
|
||||||
#include <libutil.h>
|
#include <libutil.h>
|
||||||
#endif /* HAVE_LIBUTIL_H */
|
#endif /* HAVE_LIBUTIL_H */
|
||||||
#endif /* HAVE_PTY_H */
|
#endif /* HAVE_PTY_H */
|
||||||
#if defined(sun) || defined(__hpux)
|
#ifdef HAVE_STROPTS_H
|
||||||
#include <sys/stropts.h>
|
#include <stropts.h>
|
||||||
#endif
|
#endif
|
||||||
#endif /* defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY) || defined(HAVE_DEV_PTMX */
|
#endif /* defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY) || defined(HAVE_DEV_PTMX */
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# From configure.in Revision: 1.381 .
|
# From configure.in Revision: 1.382 .
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.53 for python 2.3.
|
# Generated by GNU Autoconf 2.53 for python 2.3.
|
||||||
#
|
#
|
||||||
|
@ -3975,11 +3975,13 @@ fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for ac_header in dlfcn.h fcntl.h grp.h limits.h langinfo.h \
|
for ac_header in dlfcn.h fcntl.h grp.h limits.h langinfo.h \
|
||||||
libintl.h locale.h ncurses.h poll.h pthread.h \
|
libintl.h locale.h ncurses.h poll.h pthread.h \
|
||||||
signal.h stdarg.h stddef.h stdlib.h thread.h unistd.h utime.h termios.h \
|
signal.h stdarg.h stddef.h stdlib.h stropts.h termios.h thread.h \
|
||||||
|
unistd.h utime.h \
|
||||||
sys/audioio.h sys/file.h sys/lock.h sys/mkdev.h sys/modem.h \
|
sys/audioio.h sys/file.h sys/lock.h sys/mkdev.h sys/modem.h \
|
||||||
sys/param.h sys/poll.h sys/select.h sys/socket.h sys/time.h sys/times.h \
|
sys/param.h sys/poll.h sys/select.h sys/socket.h sys/time.h sys/times.h \
|
||||||
sys/un.h sys/utsname.h sys/wait.h pty.h term.h libutil.h \
|
sys/un.h sys/utsname.h sys/wait.h pty.h term.h libutil.h \
|
||||||
|
|
|
@ -690,7 +690,8 @@ dnl AC_MSG_RESULT($cpp_type)
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
AC_CHECK_HEADERS(dlfcn.h fcntl.h grp.h limits.h langinfo.h \
|
AC_CHECK_HEADERS(dlfcn.h fcntl.h grp.h limits.h langinfo.h \
|
||||||
libintl.h locale.h ncurses.h poll.h pthread.h \
|
libintl.h locale.h ncurses.h poll.h pthread.h \
|
||||||
signal.h stdarg.h stddef.h stdlib.h thread.h unistd.h utime.h termios.h \
|
signal.h stdarg.h stddef.h stdlib.h stropts.h termios.h thread.h \
|
||||||
|
unistd.h utime.h \
|
||||||
sys/audioio.h sys/file.h sys/lock.h sys/mkdev.h sys/modem.h \
|
sys/audioio.h sys/file.h sys/lock.h sys/mkdev.h sys/modem.h \
|
||||||
sys/param.h sys/poll.h sys/select.h sys/socket.h sys/time.h sys/times.h \
|
sys/param.h sys/poll.h sys/select.h sys/socket.h sys/time.h sys/times.h \
|
||||||
sys/un.h sys/utsname.h sys/wait.h pty.h term.h libutil.h \
|
sys/un.h sys/utsname.h sys/wait.h pty.h term.h libutil.h \
|
||||||
|
|
|
@ -439,6 +439,9 @@
|
||||||
/* Define to 1 if you have the <string.h> header file. */
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
#undef HAVE_STRING_H
|
#undef HAVE_STRING_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stropts.h> header file. */
|
||||||
|
#undef HAVE_STROPTS_H
|
||||||
|
|
||||||
/* Define to 1 if you have the `strptime' function. */
|
/* Define to 1 if you have the `strptime' function. */
|
||||||
#undef HAVE_STRPTIME
|
#undef HAVE_STRPTIME
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue