コード例 #1
0
ファイル: fil_message.c プロジェクト: comstud/filament
int fil_message_type_init(PyObject *module)
{
    PyObject *m;

    PyGreenlet_Import();
    if (PyType_Ready(&_message_type) < 0)
        return -1;

    m = fil_create_module("filament.message");
    if (m == NULL)
        return -1;

    Py_INCREF((PyObject *)&_message_type);
    if (PyModule_AddObject(m, "Message", (PyObject *)&_message_type) != 0)
    {
        Py_DECREF((PyObject *)&_message_type);
        return -1;
    }

    if (PyModule_AddObject(module, "message", m) != 0)
    {
        return -1;
    }

    Py_INCREF(m);

    return 0;
}
コード例 #2
0
ファイル: greenlet.c プロジェクト: sashka/uwsgi
void greenlet_init_apps(void) {

    if (!ugl.enabled) {
        return;
    }


    PyGreenlet_Import();

    ugl.gl = uwsgi_malloc( sizeof(PyGreenlet *) * uwsgi.async );
    ugl.main = PyGreenlet_GetCurrent();
    ugl.callable = PyCFunction_New(uwsgi_greenlet_request_method, NULL);
    uwsgi_log("enabled greenlet engine\n");

    uwsgi.schedule_to_main = greenlet_schedule_to_main;
    uwsgi.schedule_to_req = greenlet_schedule_to_req;

    return;

}