[Python-checkins] python/dist/src/Modules posixmodule.c,2.291,2.292

nnorwitz@users.sourceforge.net nnorwitz@users.sourceforge.net
Thu, 20 Mar 2003 17:43:33 -0800


Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1:/tmp/cvs-serv14537/Modules

Modified Files:
	posixmodule.c 
Log Message:
Add support for os.openpty() on AIX which uses /dev/ptc instead of /dev/ptmx.


Index: posixmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/posixmodule.c,v
retrieving revision 2.291
retrieving revision 2.292
diff -C2 -d -r2.291 -r2.292
*** posixmodule.c	5 Mar 2003 14:15:21 -0000	2.291
--- posixmodule.c	21 Mar 2003 01:43:31 -0000	2.292
***************
*** 2573,2576 ****
--- 2573,2584 ----
  #endif
  
+ /* AIX uses /dev/ptc but is otherwise the same as /dev/ptmx */
+ #ifdef HAVE_DEV_PTC
+ #define DEV_PTY_FILE "/dev/ptc"
+ #define HAVE_DEV_PTMX
+ #else
+ #define DEV_PTY_FILE "/dev/ptmx"
+ #endif
+ 
  #if defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY) || defined(HAVE_DEV_PTMX)
  #ifdef HAVE_PTY_H
***************
*** 2608,2612 ****
  	if (openpty(&master_fd, &slave_fd, NULL, NULL, NULL) != 0)
  		return posix_error();
! #elif HAVE__GETPTY
  	slave_name = _getpty(&master_fd, O_RDWR, 0666, 0);
  	if (slave_name == NULL)
--- 2616,2620 ----
  	if (openpty(&master_fd, &slave_fd, NULL, NULL, NULL) != 0)
  		return posix_error();
! #elif defined(HAVE__GETPTY)
  	slave_name = _getpty(&master_fd, O_RDWR, 0666, 0);
  	if (slave_name == NULL)
***************
*** 2617,2621 ****
  		return posix_error();
  #else
! 	master_fd = open("/dev/ptmx", O_RDWR | O_NOCTTY); /* open master */
  	if (master_fd < 0)
  		return posix_error();
--- 2625,2629 ----
  		return posix_error();
  #else
! 	master_fd = open(DEV_PTY_FILE, O_RDWR | O_NOCTTY); /* open master */
  	if (master_fd < 0)
  		return posix_error();
***************
*** 2638,2642 ****
  	if (slave_fd < 0)
  		return posix_error();
! #ifndef __CYGWIN__ 
  	ioctl(slave_fd, I_PUSH, "ptem"); /* push ptem */
  	ioctl(slave_fd, I_PUSH, "ldterm"); /* push ldterm */
--- 2646,2650 ----
  	if (slave_fd < 0)
  		return posix_error();
! #if !defined(__CYGWIN__) && !defined(HAVE_DEV_PTC)
  	ioctl(slave_fd, I_PUSH, "ptem"); /* push ptem */
  	ioctl(slave_fd, I_PUSH, "ldterm"); /* push ldterm */