author | zautrix <zautrix> | 2005-03-10 21:14:19 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-03-10 21:14:19 (UTC) |
commit | 6e3c3178fa8e0c421753c08506b4a91bbcecc26f (patch) (side-by-side diff) | |
tree | ff9c2b22376e71e135f59154c6aeeb8ed95f10ce /kmicromail/libetpan | |
parent | 3a1891136e7b1290a6b3ddd573a863e51bd3047b (diff) | |
download | kdepimpi-6e3c3178fa8e0c421753c08506b4a91bbcecc26f.zip kdepimpi-6e3c3178fa8e0c421753c08506b4a91bbcecc26f.tar.gz kdepimpi-6e3c3178fa8e0c421753c08506b4a91bbcecc26f.tar.bz2 |
smtp ompi fix
-rw-r--r-- | kmicromail/libetpan/tools/mailstream_socket.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kmicromail/libetpan/tools/mailstream_socket.c b/kmicromail/libetpan/tools/mailstream_socket.c index 04a6f48..fd2c758 100644 --- a/kmicromail/libetpan/tools/mailstream_socket.c +++ b/kmicromail/libetpan/tools/mailstream_socket.c @@ -113,134 +113,134 @@ mailstream_low * mailstream_low_socket_open(int fd) return s; free_socket_data: socket_data_free(socket_data); err: return NULL; } static int mailstream_low_socket_close(mailstream_low * s) { struct mailstream_socket_data * socket_data; socket_data = (struct mailstream_socket_data *) s->data; socket_data_close(socket_data); return 0; } static void mailstream_low_socket_free(mailstream_low * s) { struct mailstream_socket_data * socket_data; socket_data = (struct mailstream_socket_data *) s->data; socket_data_free(socket_data); s->data = NULL; free(s); } static int mailstream_low_socket_get_fd(mailstream_low * s) { struct mailstream_socket_data * socket_data; socket_data = (struct mailstream_socket_data *) s->data; return socket_data->fd; } static ssize_t mailstream_low_socket_read(mailstream_low * s, void * buf, size_t count) { struct mailstream_socket_data * socket_data; socket_data = (struct mailstream_socket_data *) s->data; /* timeout */ { fd_set fds_read; fd_set fds_excp; struct timeval timeout; int r; timeout = mailstream_network_delay; FD_ZERO(&fds_read); FD_SET(socket_data->fd, &fds_read); FD_ZERO(&fds_excp); FD_SET(socket_data->fd, &fds_excp); // LUTZ for safety I insert here a max val as well if ( timeout.tv_sec > DEFAULT_NETWORK_TIMEOUT ) timeout.tv_sec = DEFAULT_NETWORK_TIMEOUT; r = select(socket_data->fd + 1, &fds_read, NULL, &fds_excp, &timeout); if (r < 1 ) return -1; if (FD_ISSET(socket_data->fd, &fds_excp)) return -1; if (!FD_ISSET(socket_data->fd, &fds_read)) return 0; } return recv(socket_data->fd,buf,count,MSG_NOSIGNAL); //return read(socket_data->fd, buf, count); } #include <stdio.h> static ssize_t mailstream_low_socket_write(mailstream_low * s, const void * buf, size_t count) { struct mailstream_socket_data * socket_data; socket_data = (struct mailstream_socket_data *) s->data; /* timeout */ { fd_set fds_write; fd_set fds_excp; struct timeval timeout; int r; timeout = mailstream_network_delay; FD_ZERO(&fds_write); FD_SET(socket_data->fd, &fds_write); FD_ZERO(&fds_excp); FD_SET(socket_data->fd, &fds_excp); // LUTZ next line blocks sometimes if ( timeout.tv_sec > DEFAULT_NETWORK_TIMEOUT ) timeout.tv_sec = DEFAULT_NETWORK_TIMEOUT; - fprintf(stderr,"fd %d to secs %d \n", socket_data->fd, timeout.tv_sec ); + //fprintf(stderr,"fd %d to secs %d \n", socket_data->fd, timeout.tv_sec ); r = select(socket_data->fd + 1, NULL, &fds_write, &fds_excp, &timeout); if (r < 1) return -1; if (FD_ISSET(socket_data->fd, &fds_excp)) return -1; if (!FD_ISSET(socket_data->fd, &fds_write)) return 0; } return send(socket_data->fd,buf,count,MSG_NOSIGNAL); //return write(socket_data->fd, buf, count); } /* mailstream */ mailstream * mailstream_socket_open(int fd) { mailstream_low * low; mailstream * s; low = mailstream_low_socket_open(fd); if (low == NULL) goto err; s = mailstream_new(low, 8192); if (s == NULL) goto free_low; return s; free_low: mailstream_low_close(low); err: return NULL; } |