35 lines
1.2 KiB
Diff
35 lines
1.2 KiB
Diff
|
--- src/mt.c
|
||
|
+++ src/mt.c
|
||
|
@@ -694,9 +694,9 @@
|
||
|
|| (operation == MTDATCOMP)
|
||
|
#endif
|
||
|
)
|
||
|
- tapedesc = rmtopen (tapedev, O_WRONLY, 0, rsh_command_option);
|
||
|
+ tapedesc = rmtopen (tapedev, O_WRONLY | O_NONBLOCK, 0, rsh_command_option);
|
||
|
else
|
||
|
- tapedesc = rmtopen (tapedev, O_RDONLY, 0, rsh_command_option);
|
||
|
+ tapedesc = rmtopen (tapedev, O_RDONLY | O_NONBLOCK, 0, rsh_command_option);
|
||
|
if (tapedesc == -1)
|
||
|
error (1, errno, _("%s: rmtopen failed"), tapedev);
|
||
|
check_type (tapedev, tapedesc);
|
||
|
--- src/util.c
|
||
|
+++ src/util.c
|
||
|
@@ -753,14 +753,14 @@
|
||
|
copy_in = process_copy_in;
|
||
|
|
||
|
if (copy_function == copy_in)
|
||
|
- fd = rmtopen (file, O_RDONLY | O_BINARY, MODE_RW, rsh_command_option);
|
||
|
+ fd = rmtopen (file, O_RDONLY | O_BINARY | O_NONBLOCK, MODE_RW, rsh_command_option);
|
||
|
else
|
||
|
{
|
||
|
if (!append_flag)
|
||
|
- fd = rmtopen (file, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, MODE_RW,
|
||
|
+ fd = rmtopen (file, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_NONBLOCK, MODE_RW,
|
||
|
rsh_command_option);
|
||
|
else
|
||
|
- fd = rmtopen (file, O_RDWR | O_BINARY, MODE_RW, rsh_command_option);
|
||
|
+ fd = rmtopen (file, O_RDWR | O_BINARY | O_NONBLOCK, MODE_RW, rsh_command_option);
|
||
|
}
|
||
|
|
||
|
return fd;
|