Ruby 3.5.0dev (2025-02-22 revision 412997300569c1853c09813e4924b6df3d7e8669)
select.h
Go to the documentation of this file.
1#ifndef RBIMPL_INTERN_SELECT_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_INTERN_SELECT_H
25#include "ruby/internal/config.h"
26
27#ifdef HAVE_SYS_TYPES_H
28# include <sys/types.h> /* for NFDBITS (BSD Net/2) */
29#endif
30
32
33/* thread.c */
34#if defined(NFDBITS) && defined(HAVE_RB_FD_INIT)
36#elif defined(_WIN32)
38#
39# define rb_fd_resize(n, f) ((void)(f))
40#else
42#
43# define rb_fd_resize(n, f) ((void)(f))
44#endif
45
47
48struct timeval;
49
82int rb_thread_fd_select(int nfds, rb_fdset_t *rfds, rb_fdset_t *wfds, rb_fdset_t *efds, struct timeval *timeout);
83
85
86#endif /* RBIMPL_INTERN_SELECT_H */
Tweaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition dllexport.h:74
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition dllexport.h:65
Public APIs to provide rb_fd_select().
Public APIs to provide rb_fd_select().
Public APIs to provide rb_fd_select().
int rb_thread_fd_select(int nfds, rb_fdset_t *rfds, rb_fdset_t *wfds, rb_fdset_t *efds, struct timeval *timeout)
Waits for multiple file descriptors at once.
Definition thread.c:4330
The data structure which wraps the fd_set bitmap used by select(2).
Definition largesize.h:71