summaryrefslogtreecommitdiff
path: root/ratox.c
diff options
context:
space:
mode:
Diffstat (limited to 'ratox.c')
-rw-r--r--ratox.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/ratox.c b/ratox.c
index 7eaeb2e..de07738 100644
--- a/ratox.c
+++ b/ratox.c
@@ -1687,10 +1687,12 @@ loop(void)
canceltxtransfer(f);
cancelrxtransfer(f);
}
- if (f->rxstate == TRANSFER_INPROGRESS &&
- (fd = openat(f->dirfd, ffiles[FFILE_OUT].name, ffiles[FFILE_OUT].flags, 0666)) == -1 &&
- errno == ENXIO) {
- cancelrxtransfer(f);
+ if (f->rxstate != TRANSFER_INPROGRESS)
+ continue;
+ fd = openat(f->dirfd, ffiles[FFILE_OUT].name, ffiles[FFILE_OUT].flags, 0666);
+ if (fd < 0) {
+ if (errno == ENXIO)
+ cancelrxtransfer(f);
} else {
close(fd);
}