diff options
author | sin <sin@2f30.org> | 2014-09-27 16:58:35 +0100 |
---|---|---|
committer | sin <sin@2f30.org> | 2014-09-27 16:59:43 +0100 |
commit | 388273ecb3c78e742186f3dd2d3227787b407750 (patch) | |
tree | c92635b10f941c47c443b4067d73a41dfe031762 | |
parent | 2577db3a2d138218f1f0ca649178a7bc692442af (diff) |
Clear fd status when we are done to avoid double initiation
-rw-r--r-- | ratox.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -605,7 +605,7 @@ sendfriendfile(struct friend *f) if (n == 0) { /* Signal transfer completion to other end */ if (tox_file_send_control(tox, f->num, 0, f->tx.fnum, - TOX_FILECONTROL_FINISHED, NULL, 0) < 0) + TOX_FILECONTROL_FINISHED, NULL, 0) < 0) weprintf("Failed to signal transfer completion to the receiver\n"); f->tx.state = TRANSFER_NONE; break; @@ -1203,6 +1203,8 @@ loop(void) continue; if (f->tx.pendingbuf == 1) sendfriendfile(f); + if (f->tx.state == TRANSFER_NONE) + FD_CLR(f->fd[FFILE_IN], &rfds); } /* Accept pending transfers if any */ |