File: init.c

package info (click to toggle)
python-librt 0.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 360 kB
  • sloc: ansic: 5,555; python: 203; makefile: 6
file content (24 lines) | stat: -rw-r--r-- 782 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <Python.h>
#include "CPy.h"

struct ExcDummyStruct _CPy_ExcDummyStruct = { PyObject_HEAD_INIT(NULL) };
PyObject *_CPy_ExcDummy = (PyObject *)&_CPy_ExcDummyStruct;

// System-wide empty tuple constant
PyObject * __mypyc_empty_tuple__ = NULL;

// Because its dynamic linker is more restricted than linux/OS X,
// Windows doesn't allow initializing globals with values from
// other dynamic libraries. This means we need to initialize
// things at load time.
void CPy_Init(void) {
    _CPy_ExcDummyStruct.ob_base.ob_type = &PyBaseObject_Type;

    // Initialize system-wide empty tuple constant
    if (__mypyc_empty_tuple__ == NULL) {
        __mypyc_empty_tuple__ = PyTuple_New(0);
        if (!__mypyc_empty_tuple__) {
            CPyError_OutOfMemory();
        }
    }
}