static PyObject *pepy_parsed_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { pepy_parsed *self; self = (pepy_parsed *) type->tp_alloc(type, 0); return (PyObject *) self; }
static PyObject *pepy_resource_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { pepy_resource *self; self = (pepy_resource *) type->tp_alloc(type, 0); return (PyObject *) self; }
PyObject* createPyObject(const at::Storage& storage) { auto type = getPyTypeObject(storage); auto obj = THPObjectPtr(type->tp_alloc(type, 0)); if (!obj) throw python_error(); ((THPVoidStorage*)obj.get())->cdata = (THVoidStorage *)storage.unsafeGetTH(true); return obj.release(); }
static VALUE tracepoint_new(VALUE klass, rb_thread_t *target_th, rb_event_flag_t events, void (func)(VALUE, void*), void *data, VALUE proc) { VALUE tpval = tp_alloc(klass); rb_tp_t *tp; TypedData_Get_Struct(tpval, rb_tp_t, &tp_data_type, tp); tp->proc = proc; tp->func = func; tp->data = data; tp->events = events; tp->self = tpval; return tpval; }
int main(int argc, char *argv[]) { LISTITEM *i, items[] = { { (void *) "sleep 0.9 # 0", NULL, NULL }, { (void *) "sleep 0.2 # 1", NULL, NULL }, { (void *) "sleep 0.3 # 2", NULL, NULL }, { (void *) "sleep 0.8 # 3", NULL, NULL }, { (void *) "sleep 0.4 # 4", NULL, NULL }, { (void *) "sleep 0.1 # 5", NULL, NULL }, { (void *) "sleep 0.8 # 6", NULL, NULL }, { (void *) "sleep 0.7 # 7", NULL, NULL }, { (void *) "sleep 0.6 # 8", NULL, NULL }, { (void *) "sleep 1 # 9", NULL, NULL }, { (void *) "sleep 3 # 10", NULL, NULL }, { (void *) "sleep 2 # 11", NULL, NULL }, { (void *) "sleep 0.5 # 12", NULL, NULL }, { (void *) "sleep 2 # 13", NULL, NULL }, { (void *) "sleep 1 # 14", NULL, NULL }, { NULL, NULL, NULL}, }; LIST list = {0, NULL, NULL}; int thread_count = 4; struct threadpool *tp = (struct threadpool *) tp_alloc(&thread_count, my_run); if (tp == INVALID_THREADPOOL) { printf("%s: error allocating threadpool: %s\n", argv[0], strerror(errno)); exit(1); } printf("allocated %d threads\n", thread_count); if (items && items[0].data) { list.first = items; for (i = items; i && (i + 1)->data; i++) { i->next = i + 1; list.size++; } i->next = NULL; list.last = i; list.size++; } tp_exec(tp, &list); tp_release(tp); return 0; }