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; } |