]> granicus.if.org Git - python/commitdiff
Expose I_ constants. Auto-detect stropts.h. Properly configure the slave terminal.
authorMartin v. Löwis <martin@v.loewis.de>
Wed, 1 Jan 2003 09:51:12 +0000 (09:51 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Wed, 1 Jan 2003 09:51:12 +0000 (09:51 +0000)
Lib/pty.py
Misc/NEWS
Modules/fcntlmodule.c
Modules/posixmodule.c
configure
configure.in
pyconfig.h.in

index a08aa1ba686bb91d3efb190b093b57989fd91eca..1a41f1748a57f81df7c732160b363422749492ba 100644 (file)
@@ -86,7 +86,17 @@ def slave_open(tty_name):
     opened filedescriptor.
     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():
     """fork() -> (pid, master_fd)
index 6a7c30d1a726bd80944d9c46ea2a693b05dd6124..e49f17e57cb35cd04be7153d3874fdc674f7b64c 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -4,6 +4,44 @@ Python News
 
 (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?
 =================================
 
index 360b54ee4cbbd7dd5ac867801a022d568461e82d..c5d9b4d64dfecf4c3ca70e6fff18dc1868f464c7 100644 (file)
@@ -9,7 +9,9 @@
 
 #include <sys/ioctl.h>
 #include <fcntl.h>
-
+#ifdef HAVE_STROPTS_H
+#include <stropts.h>
+#endif
 
 static int
 conv_descriptor(PyObject *object, int *target)
@@ -337,6 +339,8 @@ ins(PyObject* d, char* symbol, long value)
         return 0;
 }
 
+#define INS(x) if (ins(d, #x, (long)x)) return -1
+
 static int
 all_ins(PyObject* d)
 {
@@ -459,6 +463,39 @@ all_ins(PyObject* d)
         if (ins(d, "DN_MULTISHOT", (long)DN_MULTISHOT)) return -1;
 #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;
 }
 
index dff478a275e9ac2351b5b1dce51e6783aa20556b..cce801125dd91972d7fb6c0ff9e0f9b2e6ecb157 100644 (file)
@@ -2726,8 +2726,8 @@ posix_fork(PyObject *self, PyObject *args)
 #include <libutil.h>
 #endif /* HAVE_LIBUTIL_H */
 #endif /* HAVE_PTY_H */
-#if defined(sun) || defined(__hpux)
-#include <sys/stropts.h>
+#ifdef HAVE_STROPTS_H
+#include <stropts.h>
 #endif
 #endif /* defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY) || defined(HAVE_DEV_PTMX */
 
index 86d9578918987a4de7b1e26371cf497f550bee7a..f9121ece9aa2ce397bb23e4996c451216a5d2345 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 1.381 .
+# From configure.in Revision: 1.382 .
 # Guess values for system-dependent variables and create Makefiles.
 # 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 \
 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/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 \
index 48fa694bd44d46267c58f53c1e5bb8532e248cfe..560942c971466f976036d8296a101923bba66521 100644 (file)
@@ -690,7 +690,8 @@ dnl AC_MSG_RESULT($cpp_type)
 AC_HEADER_STDC
 AC_CHECK_HEADERS(dlfcn.h fcntl.h grp.h limits.h langinfo.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/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 \
index 56a5c75d25eb3de0e37780125ac856d6008dfd57..eba68f6496e28db96b6f3e5f50cb7e5fc444ecdb 100644 (file)
 /* Define to 1 if you have the <string.h> header file. */
 #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. */
 #undef HAVE_STRPTIME