Class: Readapt::Thread
- Inherits:
-
Object
- Object
- Readapt::Thread
- Defined in:
- lib/readapt/thread.rb,
ext/readapt/threads.c
Instance Attribute Summary collapse
Class Method Summary collapse
Instance Method Summary collapse
- #frames ⇒ Object
- #id ⇒ Object
- #name ⇒ String
-
#object ⇒ Object
# @return [Object].
- #thread_object_id ⇒ Object
Instance Attribute Details
#control ⇒ Symbol
8 9 10 |
# File 'lib/readapt/thread.rb', line 8 def control @control end |
Class Method Details
.all ⇒ Object
124 125 126 127 |
# File 'ext/readapt/threads.c', line 124
static VALUE thread_all_s(VALUE self)
{
return rb_funcall(threads, rb_intern("values"), 0);
}
|
.find(id) ⇒ Object
129 130 131 132 |
# File 'ext/readapt/threads.c', line 129
static VALUE thread_find_s(VALUE self, VALUE id)
{
return thread_reference_id(id);
}
|
.include?(id) ⇒ Boolean
134 135 136 137 |
# File 'ext/readapt/threads.c', line 134
static VALUE thread_include_s(VALUE self, VALUE id)
{
return rb_funcall(ids, rb_intern("include?"), 1, id);
}
|
Instance Method Details
#frames ⇒ Object
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'ext/readapt/threads.c', line 145
static VALUE frames_m(VALUE self)
{
thread_reference_t *data;
VALUE ary;
VALUE frm;
int i;
frame_t *fd;
ary = rb_ary_new();
data = thread_reference_pointer(self);
for (i = data->frames->size - 1; i >= 0; i--)
{
fd = data->frames->elements[i];
// TODO This condition should probably not be necessary.
if (fd->binding != Qnil)
{
frm = frame_new_from_data(fd);
rb_ary_push(ary, frm);
}
}
return ary;
}
|
#id ⇒ Object
139 140 141 142 143 |
# File 'ext/readapt/threads.c', line 139
static VALUE thread_id_m(VALUE self)
{
thread_reference_t *data = thread_reference_pointer(self);
return LONG2NUM(data->id);
}
|
#name ⇒ String
11 12 13 |
# File 'lib/readapt/thread.rb', line 11 def name @name ||= "Thread #{id}" end |
#object ⇒ Object
# @return [Object]
16 17 18 |
# File 'lib/readapt/thread.rb', line 16 def object ObjectSpace._id2ref(thread_object_id) end |
#thread_object_id ⇒ Object
169 170 171 172 173 174 175 176 |
# File 'ext/readapt/threads.c', line 169
static VALUE thread_object_id_m(VALUE self)
{
thread_reference_t *data;
data = thread_reference_pointer(self);
return LONG2NUM(data->thread_object_id);
// return rb_hash_aref(ids, INT2NUM(data->id))->object_id;
}
|