int test_okay = 1;
int called = 0;
+struct timeval timeout = {60, 0};
static void
read_cb(evutil_socket_t fd, short event, void *arg)
char buf[256];
int len;
+ if (EV_TIMEOUT & event) {
+ printf("%s: Timeout!\n", __func__);
+ exit(1);
+ }
+
len = recv(fd, buf, sizeof(buf), 0);
printf("%s: read %d%s\n", __func__,
if (len) {
if (!called)
- event_add(arg, NULL);
+ event_add(arg, &timeout);
} else if (called == 1)
test_okay = 0;
event_init();
/* Initalize one event */
- event_set(&ev, pair[1], EV_READ, read_cb, &ev);
+ event_set(&ev, pair[1], EV_READ | EV_TIMEOUT, read_cb, &ev);
- event_add(&ev, NULL);
+ event_add(&ev, &timeout);
event_dispatch();