Ruby  3.4.0dev (2024-11-22 revision 0989400a925cd201defdca9eb28eb87200b30785)
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 
48 struct timeval;
49 
82 int 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:4333
The data structure which wraps the fd_set bitmap used by select(2).
Definition: largesize.h:71