]> git.saurik.com Git - apple/network_cmds.git/blobdiff - cfilutil/cfilutil.c
network_cmds-543.tar.gz
[apple/network_cmds.git] / cfilutil / cfilutil.c
index 546604ca87b08f885d124d8109316bffb8608ce1..4aaa7193a5bd109fd1d200252bdadd18c195617f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2014 Apple Inc. All rights reserved.
+ * Copyright (c) 2013-2016 Apple Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  *
@@ -476,14 +476,19 @@ doit()
        kv.filter = EVFILT_READ;
        kv.flags = EV_ADD;
        if (kevent(kq, &kv, 1, NULL, 0, NULL) == -1)
-               err(1, "kevent(sf)");
-       
-       bzero(&kv, sizeof(struct kevent));
-       kv.ident = fdin;
-       kv.filter = EVFILT_READ;
-       kv.flags = EV_ADD;
-       if (kevent(kq, &kv, 1, NULL, 0, NULL) == -1)
-               err(1, "kevent(sf)");
+               err(1, "kevent(sf %d)", sf);
+       
+       /*
+        * We can only read from an interactive terminal
+        */
+       if (isatty(fdin)) {
+               bzero(&kv, sizeof(struct kevent));
+               kv.ident = fdin;
+               kv.filter = EVFILT_READ;
+               kv.flags = EV_ADD;
+               if (kevent(kq, &kv, 1, NULL, 0, NULL) == -1)
+                       err(1, "kevent(fdin %d)", fdin);
+       }
        
        buffer = malloc(MAX_BUFFER);
        if (buffer == NULL)