Class: UserfaultFD::NativeHandler

Inherits:
Object
  • Object
show all
Defined in:
ext/userfaultfd/userfaultfd.c

Instance Method Summary collapse

Instance Method Details

#running?Boolean

Returns:

  • (Boolean)


1643
1644
1645
1646
1647
1648
1649
# File 'ext/userfaultfd/userfaultfd.c', line 1643

static VALUE
native_handler_running_p(VALUE self)
{
    native_handler_data_t *data;
    TypedData_Get_Struct(self, native_handler_data_t, &native_handler_type, data);
    return data->running ? Qtrue : Qfalse;
}

#stopObject



1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
# File 'ext/userfaultfd/userfaultfd.c', line 1630

static VALUE
native_handler_stop(VALUE self)
{
    native_handler_data_t *data;
    int wrong_process;
    TypedData_Get_Struct(self, native_handler_data_t, &native_handler_type, data);
    wrong_process = data->pid != getpid();
    native_handler_stop_and_join(data);
    if (wrong_process) rb_raise(eError, "handler cannot be used after fork");
    if (data->error) rb_syserr_fail(data->error, "userfaultfd handler");
    return self;
}