changeset 740:6968041e4b82

2006-5-14 Brian Masney <masneyb@gftp.org> * lib/pty.c (_gftp_ptym_open) - fixes for using the grantpt() function under HP/UX. (from Allyn Fratkin <allyn@fratkin.com>) (closes #301979)
author masneyb
date Sun, 14 May 2006 16:44:20 +0000
parents ba82724da370
children 1c6daf1203e8
files ChangeLog lib/pty.c
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun May 14 16:40:53 2006 +0000
+++ b/ChangeLog	Sun May 14 16:44:20 2006 +0000
@@ -1,4 +1,7 @@
 2006-5-14 Brian Masney <masneyb@gftp.org>
+	* lib/pty.c (_gftp_ptym_open) - fixes for using the grantpt() function
+	under HP/UX. (from Allyn Fratkin <allyn@fratkin.com>) (closes #301979)
+
 	* lib/fsplib/fsplib.c lib/fsplib/fsplib.h - updated with FSPLIB 0.8
 
 	* lib/fsplib/lock.c lib/pty.c - compile fixes under NetBSD 
@@ -3338,7 +3341,7 @@
 
 	* cvsclean - added this script
 
-	* *.[ch] - added $Id: ChangeLog,v 1.420 2006/05/14 16:40:53 masneyb Exp $ tags
+	* *.[ch] - added $Id: ChangeLog,v 1.421 2006/05/14 16:44:19 masneyb Exp $ tags
 
 	* debian/* - updated files from Debian maintainer
 
--- a/lib/pty.c	Sun May 14 16:40:53 2006 +0000
+++ b/lib/pty.c	Sun May 14 16:44:20 2006 +0000
@@ -76,16 +76,20 @@
 _gftp_ptym_open (char *pts_name, size_t len, int *fds)
 {
   char *new_pts_name;
+  void (*savesig)();
   int fdm;
 
   if ((fdm = open ("/dev/ptmx", O_RDWR)) < 0)
     return (GFTP_ERETRYABLE);
 
+  savesig = signal (SIGCHLD, SIG_DFL);
   if (grantpt (fdm) < 0)
     {
+      signal(SIGCHLD, savesig);
       close (fdm);
       return (GFTP_ERETRYABLE);
     }
+  signal (SIGCHLD, savesig);
 
   if (unlockpt (fdm) < 0)
     {