#include <sys/socket.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/select.h>
#include <fcntl.h>
#include <unistd.h>
#include <strings.h>
int error_sleep = 0;
char buffer[CHUNKSIZE];
int in, out;
+ fd_set rfds;
+ struct timeval tv;
+ int retval;
if ((in = (*open_fn)(url)) < 0) {
fprintf(stderr,"Can't open url %s!\n",url);
}
}
+ FD_ZERO(&rfds);
+ FD_SET(in, &rfds);
+
+ tv.tv_sec = 1;
+ tv.tv_usec = 0;
+
+ if ((retval = select(in + 1, &rfds, NULL, NULL, &tv)) == -1) {
+ error_sleep = 1;
+ continue;
+ }
+
+ if (!retval) {
+ gettimeofday(&curr, NULL);
+ continue;
+ }
+
if ((recvd = recv(in, buffer, CHUNKSIZE, 0)) < 1) {
error_sleep = 1;
continue;
#include <time.h>
#include <string.h>
#include <strings.h>
+#include <unistd.h>
+#include <sys/select.h>
#include "mcast.h"
#include "sap.h"
unsigned char auth_len;
unsigned short msgid;
unsigned char *payload, *pos, *host = NULL, *proto = NULL, *port = NULL, *sname = NULL;
+ fd_set rfds;
+ struct timeval tv;
+ int retval;
+
+ FD_ZERO(&rfds);
+ FD_SET(fd, &rfds);
+
+ tv.tv_sec = 0;
+ tv.tv_usec = 1000;
+
+ if ((retval = select(fd+1, &rfds, NULL, NULL, &tv)) == -1) {
+ perror("select");
+ return NULL;
+ }
+
+ if (!retval) {
+ gettimeofday(&curr, NULL);
+ continue;
+ }
if ((recvd = recv(fd, buffer, BUFFSIZE, 0)) < 1) {
perror("recv");