After the libc posix pty api addition, make regress failed.  Removing the Tty_xs
patch appears to fix the problem.
Index: Makefile
===================================================================
RCS file: /a8v/pub2/cvsroot/OpenBSD/ports/devel/p5-IO-Tty/Makefile,v
retrieving revision 1.15
diff -u -p -u -r1.15 Makefile
--- Makefile    23 Aug 2012 15:05:15 -0000      1.15
+++ Makefile    12 Dec 2012 17:17:48 -0000
@@ -6,7 +6,7 @@ COMMENT=                provide an interface to create
 
 MODULES=               cpan
 DISTNAME=              IO-Tty-1.10
-REVISION=              0
+REVISION=              1
 CATEGORIES=            devel
 
 # Perl
Index: patches/patch-Tty_xs
===================================================================
RCS file: patches/patch-Tty_xs
diff -N patches/patch-Tty_xs
--- patches/patch-Tty_xs        28 Oct 2011 22:38:15 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,71 +0,0 @@
-$OpenBSD: patch-Tty_xs,v 1.2 2011/10/28 22:38:15 okan Exp $
---- Tty.xs.orig        Mon Oct 11 14:07:57 2010
-+++ Tty.xs     Tue Oct 11 23:43:40 2011
-@@ -233,6 +233,7 @@ make_safe_fd(int * fd)
-   }
- }
- 
-+#if !defined(HAVE_OPENPTY)
- /*
-  * After having acquired a master pty, try to find out the slave name,
-  * initialize and open the slave.
-@@ -395,6 +396,7 @@ open_slave(int *ptyfd, int *ttyfd, char *namebuf, int 
- 
-     return 1;
- }
-+#endif
- 
- /*
-  * Allocates and opens a pty.  Returns 0 if no pty could be allocated, or
-@@ -450,7 +452,7 @@ allocate_pty(int *ptyfd, int *ttyfd, char *namebuf, in
-       }
- #endif
- 
--#if defined(HAVE_PTSNAME) || defined(HAVE_PTSNAME_R)
-+#if defined(HAVE_PTSNAME) || defined(HAVE_PTSNAME_R) || defined(HAVE_OPENPTY)
- /* we don't need to try these if we don't have a way to get the pty names */
- 
- #if defined(HAVE_POSIX_OPENPT)
-@@ -479,29 +481,21 @@ allocate_pty(int *ptyfd, int *ttyfd, char *namebuf, in
- #endif /* defined(HAVE_GETPT) */
- 
- #if defined(HAVE_OPENPTY)
--      /* openpty(3) exists in a variety of OS'es, but due to it's
--       * broken interface (no maxlen to slavename) we'll only use it
--       * to create the tty/pty pair and rely on ptsname to get the
--       * name.  */
--      {
--          mysig_t old_signal;
--          int ret;
--
-+      /* openpty(3) is documented to require 16 bytes for the
-+       * slave name.  We always allocate 64 so it is safe...
-+       */
- #if PTY_DEBUG
--          if (print_debug)
--            fprintf(stderr, "trying openpty()...\n");
-+      if (print_debug)
-+        fprintf(stderr, "trying openpty()...\n");
- #endif
--          old_signal = mysignal(SIGCHLD, SIG_DFL);
--          ret = openpty(ptyfd, ttyfd, NULL, NULL, NULL);
--          mysignal(SIGCHLD, old_signal);
--          if (ret >= 0 && *ptyfd >= 0) {
--              if (open_slave(ptyfd, ttyfd, namebuf, namebuflen))
--                  break;
--          }
--          *ptyfd = -1;
--          *ttyfd = -1;
--          if (PL_dowarn)
--              warn("pty_allocate(nonfatal): openpty(): %.100s", 
strerror(errno));
-+      if (openpty(ptyfd, ttyfd, namebuf, NULL, NULL) == 0) {
-+          make_safe_fd(ptyfd);
-+          make_safe_fd(ttyfd);
-+          return 1;
-+      } else {
-+      if (PL_dowarn)
-+          warn("pty_allocate: openpty(): %.100s", strerror(errno));
-+          return 0;
-       }
- #endif /* defined(HAVE_OPENPTY) */
- 

Reply via email to