|
#include <stdio.h>
#include <stdlib.h>
#include <poll.h>
#include <unistd.h>
int poll( struct pollfd *fds, nfds_t nfds, int timeout );
int main()
{
struct pollfdpfd[1];
intlen = 1;
/* pfd[0]=0; */
pfd[0].events= POLLIN;
pfd[0].revents= 0;
int done = 0;
while ( !done )
{
switch ( poll( pfd, 1, 1000 ) )
{
case 0: puts( "timeout" ); break;
case -1: puts( "error" ); break;
default:
puts( "success" );
char buf[200];
if ( pfd[0].revents & POLLIN )
{
ssize_t s = read( pfd[0].fd, buf, sizeof(buf) - 1 );
if ( s > 0 )
{
buf = '\0';
puts( "buf" );
}
}
break;
}
}
} |
|
|