oops, that was debugging code that wasn't supposed to be committed!

This commit is contained in:
Daniel Stenberg 2007-09-24 12:15:45 +00:00
parent 5d91d286f1
commit 46f26d3d0e

View File

@ -1,5 +1,5 @@
/* /*
* $Id: scp_nonblock.c,v 1.10 2007/09/24 12:14:18 bagder Exp $ * $Id: scp_nonblock.c,v 1.11 2007/09/24 12:15:45 bagder Exp $
* *
* Sample showing how to do SCP transfers in a non-blocking manner. * Sample showing how to do SCP transfers in a non-blocking manner.
*/ */
@ -156,12 +156,11 @@ int main(int argc, char *argv[])
fprintf(stderr, "libssh2_scp_recv() is done, now receive data!\n"); fprintf(stderr, "libssh2_scp_recv() is done, now receive data!\n");
while(got < fileinfo.st_size) { while(got < fileinfo.st_size) {
char mem[256000]; char mem[1000];
struct timeval timeout; struct timeval timeout;
int rc; int rc;
fd_set readfd; fd_set fd;
fd_set writefd;
do { do {
int amount=sizeof(mem); int amount=sizeof(mem);
@ -173,56 +172,32 @@ int main(int argc, char *argv[])
/* loop until we block */ /* loop until we block */
rc = libssh2_channel_read(channel, mem, amount); rc = libssh2_channel_read(channel, mem, amount);
if (rc > 0) { if (rc > 0) {
#if 0
write(1, mem, rc); write(1, mem, rc);
#endif
got += rc; got += rc;
} }
else {
//printf("libssh2 returned %d\n", rc);
}
} while (rc > 0); } while (rc > 0);
if (rc == LIBSSH2_ERROR_EAGAIN) { if (rc == LIBSSH2_ERROR_EAGAIN) {
/* this is due to blocking that would occur otherwise /* this is due to blocking that would occur otherwise
so we loop on this condition */ so we loop on this condition */
timeout.tv_sec = 1; timeout.tv_sec = 10;
timeout.tv_usec = 0; timeout.tv_usec = 0;
FD_ZERO(&readfd); FD_ZERO(&fd);
FD_ZERO(&writefd);
FD_SET(sock, &readfd); FD_SET(sock, &fd);
FD_SET(sock, &writefd);
rc = select(sock+1, &readfd, &writefd, NULL, &timeout); rc = select(sock+1, &fd, &fd, NULL, &timeout);
if(rc < 0) { if (rc <= 0) {
fprintf(stderr, "SCP ERROR: %d\n", rc); /* negative is error
} 0 is timeout */
else if (rc == 0) {
fprintf(stderr, "SCP timed out: %d\n", rc); fprintf(stderr, "SCP timed out: %d\n", rc);
} }
else {
#if 0
if(FD_ISSET(sock, &readfd)) {
printf("Readable socket\n");
}
else if(FD_ISSET(sock, &writefd)) {
static counter=0;
printf("Writeable socket\n");
if(counter++ > 200)
return 1;
}
#endif
}
continue; continue;
} }
break; break;
} }
printf("Got totally %d bytes\n", (int)got);
libssh2_channel_free(channel); libssh2_channel_free(channel);
channel = NULL; channel = NULL;