Class: YTLJit::Runtime::Thread

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

Instance Method Summary collapse

Instance Method Details

#_joinObject



93
94
95
96
97
98
99
100
101
102
103
# File 'ext/thread.c', line 93

VALUE
ytl_thread_join(VALUE self)
{
  struct ytl_thread *th;

  Data_Get_Struct(self, struct ytl_thread, th);
  pthread_join(th->thread, NULL);
  pthread_attr_destroy(&th->attr);

  return self;
}

#_merge(newself) ⇒ Object



105
106
107
108
109
110
111
112
113
114
115
116
# File 'ext/thread.c', line 105

VALUE
ytl_thread_merge(VALUE self, VALUE newself)
{
  struct ytl_thread *th;
  Data_Get_Struct(self, struct ytl_thread, th);

  if (th->pself != newself) {
    ytl_obj_copy(th->pself, newself);
  }

  return self;
}

#cselfObject



137
138
139
140
141
142
143
144
# File 'ext/thread.c', line 137

VALUE
ytl_thread_cself(VALUE self)
{
  struct ytl_thread *th;

  Data_Get_Struct(self, struct ytl_thread, th);
  return th->cself;
}

#pselfObject



118
119
120
121
122
123
124
125
# File 'ext/thread.c', line 118

VALUE
ytl_thread_pself(VALUE self)
{
  struct ytl_thread *th;

  Data_Get_Struct(self, struct ytl_thread, th);
  return th->pself;
}

#pself=(val) ⇒ Object



127
128
129
130
131
132
133
134
135
# File 'ext/thread.c', line 127

VALUE
ytl_thread_set_pself(VALUE self, VALUE val)
{
  struct ytl_thread *th;

  Data_Get_Struct(self, struct ytl_thread, th);
  th->pself = val;
  return val;
}