$OpenBSD: patch-kdesu_process_cpp,v 1.3 2003/01/27 19:16:47 espie Exp $
--- kdesu/process.cpp.orig	Tue Jan 14 00:49:57 2003
+++ kdesu/process.cpp	Tue Jan 14 16:31:26 2003
@@ -38,6 +38,9 @@
 #include <stropts.h>
 #include <sys/stream.h>
 #endif
+#ifdef __OpenBSD__
+#include <sys/ioctl.h>
+#endif
 
 #ifdef __OpenBSD__
 #include <sys/ioctl.h>
@@ -364,8 +367,13 @@ int PtyProcess::waitForChild()
     while (1) 
     {
         tv.tv_sec = 1; tv.tv_usec = 0;
-        FD_SET(m_Fd, &fds);
-        ret = select(m_Fd+1, &fds, 0L, 0L, &tv);
+	if (m_Fd != -1)
+	{
+	    FD_SET(m_Fd, &fds);
+	    ret = select(m_Fd+1, &fds, 0L, 0L, &tv);
+	}
+	else
+	    ret = 0;
         if (ret == -1) 
         {
             if (errno == EINTR) continue;
@@ -452,6 +460,9 @@ int PtyProcess::SetupTTY(int fd)
     ioctl(slave, I_PUSH, "ptem");
     ioctl(slave, I_PUSH, "ldterm");
 
+#endif
+#ifdef __OpenBSD__
+    ioctl(slave, TIOCSCTTY, (char *)NULL);
 #endif
 
 #ifdef __OpenBSD__
