| Ruby
    3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
    | 
 
 
 
Go to the documentation of this file.
   17 #include <sys/types.h> 
   18 #if defined(HAVE_UNISTD_H) && (defined(__sun)) 
   21 #if defined(HAVE_SYS_IOCTL_H) 
   22 #include <sys/ioctl.h> 
   24 #if defined(FIONREAD_HEADER) 
   25 #include FIONREAD_HEADER 
   28 #ifdef HAVE_RB_W32_IOCTLSOCKET 
   29 #define ioctl ioctlsocket 
   30 #define ioctl_arg u_long 
   31 #define ioctl_arg2num(i) ULONG2NUM(i) 
   34 #define ioctl_arg2num(i) INT2NUM(i) 
   37 #ifdef HAVE_RB_W32_IS_SOCKET 
   38 #define FIONREAD_POSSIBLE_P(fd) rb_w32_is_socket(fd) 
   40 #define FIONREAD_POSSIBLE_P(fd) ((void)(fd),Qtrue) 
   68 io_wait_event(
VALUE io, 
int event, 
VALUE timeout)
 
   72     if (!RB_TEST(result)) {
 
  178 wait_mode_sym(
VALUE mode)
 
  234     if (
argc != 2 || (RB_SYMBOL_P(
argv[0]) || RB_SYMBOL_P(
argv[1]))) {
 
  235         for (
int i = 0; i < 
argc; i += 1) {
 
  236             if (RB_SYMBOL_P(
argv[i])) {
 
  237                 events |= wait_mode_sym(
argv[i]);
 
  239             else if (timeout == 
Qundef) {
 
  249         events = RB_NUM2UINT(
argv[0]);
 
  266     return io_wait_event(io, events, timeout);
 
  276 #ifdef HAVE_RB_EXT_RACTOR_SAFE 
  
#define RB_IO_POINTER(obj, fp)
struct timeval rb_time_interval(VALUE num)
#define RB_EXT_RACTOR_SAFE(f)
ID rb_intern(const char *)
void rb_io_check_readable(rb_io_t *)
void rb_raise(VALUE exc, const char *fmt,...)
int rb_io_read_pending(rb_io_t *)
#define FIONREAD_POSSIBLE_P(fd)
void rb_io_check_writable(rb_io_t *)
#define rb_define_method(klass, mid, func, arity)
Defines klass#mid.
VALUE rb_io_wait(VALUE io, VALUE events, VALUE timeout)