瀏覽代碼

(write_archive_buffer, close_archive): If an archive is a socket,
treat it like a FIFO.

Paul Eggert 23 年之前
父節點
當前提交
9a15fcf491
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      src/buffer.c

+ 4 - 2
src/buffer.c

@@ -301,7 +301,9 @@ write_archive_buffer (void)
     {
       written += status;
       if (written == record_size
-	  || _isrmt (archive) || ! S_ISFIFO (archive_stat.st_mode))
+	  || _isrmt (archive)
+	  || ! (S_ISFIFO (archive_stat.st_mode)
+		|| S_ISSOCK (archive_stat.st_mode)))
 	break;
     }
 
@@ -1335,7 +1337,7 @@ close_archive (void)
 
   if (access_mode == ACCESS_READ
       && ! _isrmt (archive)
-      && S_ISFIFO (archive_stat.st_mode))
+      && (S_ISFIFO (archive_stat.st_mode) || S_ISSOCK (archive_stat.st_mode)))
     while (rmtread (archive, record_start->buffer, record_size) > 0)
       continue;
 #endif