#include #include #include #include #include #include #include int main() { struct sockaddr_in addr; int err; struct pollfd pfds; int sock = socket(AF_INET, SOCK_STREAM, 0); addr.sin_family = AF_INET; addr.sin_port = htons(81); addr.sin_addr.s_addr = inet_addr("209.85.135.104"); fcntl(sock, F_SETFL, fcntl(sock, F_GETFL, 0) | O_NONBLOCK); err = connect(sock, (struct sockaddr *)&addr, sizeof(addr)); assert(err == -1 && errno == EINPROGRESS); pfds.fd = sock; pfds.events = POLLOUT; err = poll(&pfds, 1, -1); assert(err == 1); printf("returned events from poll() routine:"); if(pfds.revents & POLLOUT) printf("POLLOUT"); if(pfds.revents & POLLERR) printf("POLLERR"); printf("\n"); }