Changeset 3678
- Timestamp:
- 05/21/08 14:05:03
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/libtinymail-camel/camel-lite/camel/camel-file-utils.c (modified) (4 diffs)
- trunk/libtinymail-camel/camel-lite/camel/camel-file-utils.h (modified) (1 diff)
- trunk/libtinymail-camel/camel-lite/camel/camel-tcp-stream-openssl.c (modified) (4 diffs)
- trunk/libtinymail-camel/camel-lite/camel/camel-tcp-stream-ssl.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r3674 r3678 1 2008-05-21 Philip Van Hoof <pvanhoof@gnome.org> 2 3 * Writing in chunks of 64 bytes 4 * Timeout per chunk is 15 seconds 5 1 6 2008-05-20 Philip Van Hoof <pvanhoof@gnome.org> 2 7 trunk/libtinymail-camel/camel-lite/camel/camel-file-utils.c
r3449 r3678 602 602 if (cancel_fd == -1) { 603 603 do { 604 /* Write in chunks of max WRITE_CHUNK_SIZE bytes */ 605 ssize_t actual = MIN (n - written, WRITE_CHUNK_SIZE); 606 604 607 do { 605 w = write (fd, buf + written, n - written);608 w = write (fd, buf + written, actual /* n - written */); 606 609 } while (w == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK)); 607 610 if (w > 0) … … 617 620 618 621 fdmax = MAX (fd, cancel_fd) + 1; 622 623 619 624 do { 620 625 struct timeval tv; 621 626 int res; 627 628 /* Write in chunks of max WRITE_CHUNK_SIZE bytes */ 629 ssize_t actual = MIN (n - written, WRITE_CHUNK_SIZE); 622 630 623 631 FD_ZERO (&rdset); … … 625 633 FD_SET (fd, &wrset); 626 634 FD_SET (cancel_fd, &rdset); 627 tv.tv_sec = BLOCKING_ READ_TIMEOUT;635 tv.tv_sec = BLOCKING_WRITE_TIMEOUT; 628 636 tv.tv_usec = 0; 629 637 w = -1; … … 639 647 else { 640 648 do { 641 w = write (fd, buf + written, n - written);649 w = write (fd, buf + written, actual /*n - written*/); 642 650 } while (w == -1 && errno == EINTR); 643 651 trunk/libtinymail-camel/camel-lite/camel/camel-file-utils.h
r3449 r3678 46 46 #define BLOCKING_READ_TIMEOUT 15 47 47 #define BLOCKING_WRITE_TIMEOUT 15 48 #define WRITE_CHUNK_SIZE 64 48 49 49 50 #define NONBLOCKING_READ_TIMEOUT 0 trunk/libtinymail-camel/camel-lite/camel/camel-tcp-stream-openssl.c
r3446 r3678 576 576 fdmax = openssl->priv->sockfd + 1; 577 577 do { 578 /* Write in chunks of max WRITE_CHUNK_SIZE bytes */ 579 ssize_t actual = MIN (n - written, WRITE_CHUNK_SIZE); 580 578 581 FD_ZERO (&rdset); 579 582 FD_ZERO (&wrset); … … 587 590 do { 588 591 if (ssl) { 589 w = SSL_write (ssl, buffer + written, n - written);592 w = SSL_write (ssl, buffer + written, actual /* n - written */); 590 593 if (w < 0) 591 594 errno = ssl_errno (ssl, w); 592 595 } else { 593 w = write (openssl->priv->sockfd, buffer + written, n - written);596 w = write (openssl->priv->sockfd, buffer + written, actual /* n - written */); 594 597 } 595 598 } while (w < 0 && errno == EINTR); … … 615 618 fd_set rdset, wrset; 616 619 620 /* Write in chunks of max WRITE_CHUNK_SIZE bytes */ 621 ssize_t actual = MIN (n - written, WRITE_CHUNK_SIZE); 622 617 623 flags = fcntl (openssl->priv->sockfd, F_GETFL); 618 624 fcntl (openssl->priv->sockfd, F_SETFL, flags | O_NONBLOCK); … … 636 642 do { 637 643 if (ssl) { 638 w = SSL_write (ssl, buffer + written, n - written);644 w = SSL_write (ssl, buffer + written, actual /* n - written */); 639 645 if (w < 0) 640 646 errno = ssl_errno (ssl, w); 641 647 } else { 642 w = write (openssl->priv->sockfd, buffer + written, n - written);648 w = write (openssl->priv->sockfd, buffer + written, actual /* n - written */); 643 649 } 644 650 } while (w < 0 && errno == EINTR); trunk/libtinymail-camel/camel-lite/camel/camel-tcp-stream-ssl.c
r3645 r3678 699 699 PRInt32 res; 700 700 701 /* Write in chunks of max WRITE_CHUNK_SIZE bytes */ 702 ssize_t actual = MIN (n - written, WRITE_CHUNK_SIZE); 703 701 704 pollfds[0].out_flags = 0; 702 705 w = -1; … … 717 720 w = -1; 718 721 if (begin_read (tcp_stream_ssl)) { 719 w = PR_Write (tcp_stream_ssl->priv->sockfd, buffer + written, n - written);722 w = PR_Write (tcp_stream_ssl->priv->sockfd, buffer + written, actual /* n - written */); 720 723 if (w == -1) 721 724 set_errno (PR_GetError ()); … … 761 764 do { 762 765 PRInt32 res; 766 767 /* Write in chunks of max WRITE_CHUNK_SIZE bytes */ 768 ssize_t actual = MIN (n - written, WRITE_CHUNK_SIZE); 763 769 764 770 pollfds[0].out_flags = 0; … … 783 789 w = -1; 784 790 if (begin_read (tcp_stream_ssl)) { 785 w = PR_Write (tcp_stream_ssl->priv->sockfd, buffer + written, n - written);791 w = PR_Write (tcp_stream_ssl->priv->sockfd, buffer + written, actual /* n - written */); 786 792 if (w == -1) 787 793 set_errno (PR_GetError ());
