Use select() instead of poll() for portabilities sake.

This commit is contained in:
Brian Somers 1997-11-11 13:27:47 +00:00
parent 3d8ad715f4
commit d2bb1901e7

View File

@ -6,12 +6,13 @@
#include <sys/un.h>
#include <netdb.h>
#include <sys/time.h>
#include <histedit.h>
#include <poll.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#define LINELEN 2048
@ -135,13 +136,14 @@ static void
check_fd(int sig)
{
if (data != -1) {
struct pollfd p;
struct timeval t;
fd_set f;
static char buf[LINELEN];
p.fd = data;
p.events = POLLIN|POLLPRI;
p.revents = p.events|POLLOUT;
if (poll(&p, 1, 0) > 0)
FD_ZERO(&f);
FD_SET(data, &f);
t.tv_sec = t.tv_usec = 0;
if (select(data+1, &f, NULL, NULL, &t) > 0)
write(1, buf, read(data, buf, sizeof buf));
}
}