Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   _newselect    ( 2 )

синхронное мультиплексирование ввода / вывода (synchronous I/O multiplexing)

  Name  |  Synopsis  |  Description  |  Return value  |  Error  |  Versions  |  Conforming to  |  Note  |  Bugs  |    Examples    |  See also  |

Примеры (Examples)

#include <stdio.h>
       #include <stdlib.h>
       #include <sys/select.h>

int main(void) { fd_set rfds; struct timeval tv; int retval;

/* Watch stdin (fd 0) to see when it has input. */

FD_ZERO(&rfds); FD_SET(0, &rfds);

/* Wait up to five seconds. */

tv.tv_sec = 5; tv.tv_usec = 0;

retval = select(1, &rfds, NULL, NULL, &tv); /* Don't rely on the value of tv now! */

if (retval == -1) perror("select()"); else if (retval) printf("Data is available now.\n"); /* FD_ISSET(0, &rfds) will be true. */ else printf("No data within five seconds.\n");

exit(EXIT_SUCCESS); }