$NetBSD: patch-ad,v 1.4 2005/11/18 14:52:44 joerg Exp $

--- guicontrol.c.orig	1997-08-23 11:30:51.000000000 +0000
+++ guicontrol.c
@@ -312,6 +312,14 @@ void gui_control(void)
       if (quit_flag)
 	{
 /* 	  fprintf(stderr, "quit_flag is true\n"); */
+
+	  if((flags = fcntl(STDOUT_FILENO, F_GETFL, 0)) < 0)
+	    perror("fcntl");
+	  flags &= ~O_NONBLOCK;
+  
+	  if(fcntl(STDOUT_FILENO, F_SETFL, flags) < 0)
+	    perror("fcntl");
+
 	  exit(0);
 	}
       while(GUI_FD_TO_PLAY != -1)
@@ -334,7 +342,7 @@ void gui_control(void)
 	 
 	 if((flags = fcntl(STDIN_FILENO, F_GETFL, 0)) < 0)
 	   perror("fcntl");
-	 flags ^= O_NONBLOCK;
+	 flags &= ~O_NONBLOCK;
 	 
 	 if(fcntl(STDIN_FILENO, F_SETFL, flags) < 0)
 	   perror("fcntl");
@@ -376,6 +384,7 @@ int decodeMPEG_2(int inFilefd)
       case GETHDR_SYN: warn("oops, we're out of sync.\n");
 	break;
       default: 
+	break;
       }
       break;
     }
@@ -394,7 +403,7 @@ int decodeMPEG_2(int inFilefd)
                 /* Set stdin to blocking */
                 if((flags = fcntl(STDIN_FILENO, F_GETFL, 0)) < 0)
                         perror("fcntl");
-                flags ^= O_NONBLOCK;
+                flags &= ~O_NONBLOCK;
                 if(fcntl(STDIN_FILENO, F_SETFL, flags) < 0)
                         perror("fcntl");
         }
