Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
0
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();
}
Exemplo n.º 4
0
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;
}