Blender V2.61 - r43446
Functions | Variables

bpy_interface_atexit.c File Reference

#include <Python.h>
#include "bpy_util.h"
#include "WM_api.h"
#include "BLI_utildefines.h"

Go to the source code of this file.

Functions

static PyObject * bpy_atexit (PyObject *UNUSED(self), PyObject *UNUSED(args), PyObject *UNUSED(kw))
static void atexit_func_call (const char *func_name, PyObject *atexit_func_arg)
void BPY_atexit_register (void)
void BPY_atexit_unregister (void)

Variables

static PyMethodDef meth_bpy_atexit = {"bpy_atexit", (PyCFunction)bpy_atexit, METH_NOARGS, NULL}
static PyObject * func_bpy_atregister = NULL

Detailed Description

This file inserts an exit callback into pythons 'atexit' module. Without this sys.exit() can crash because blender is not properly closing resources.

Definition in file bpy_interface_atexit.c.


Function Documentation

static void atexit_func_call ( const char *  func_name,
PyObject *  atexit_func_arg 
) [static]

Definition at line 53 of file bpy_interface_atexit.c.

References NULL.

Referenced by BPY_atexit_register(), and BPY_atexit_unregister().

static PyObject* bpy_atexit ( PyObject *  UNUSEDself,
PyObject *  UNUSEDargs,
PyObject *  UNUSEDkw 
) [static]

Definition at line 40 of file bpy_interface_atexit.c.

References BPy_GetContext(), C, and WM_exit_ext().

void BPY_atexit_register ( void  )

Definition at line 81 of file bpy_interface_atexit.c.

References atexit_func_call(), BLI_assert, and NULL.

Referenced by BPY_python_start().

void BPY_atexit_unregister ( void  )

Definition at line 90 of file bpy_interface_atexit.c.

References atexit_func_call(), BLI_assert, and NULL.

Referenced by BPY_python_end().


Variable Documentation

PyObject* func_bpy_atregister = NULL [static]

Definition at line 51 of file bpy_interface_atexit.c.

PyMethodDef meth_bpy_atexit = {"bpy_atexit", (PyCFunction)bpy_atexit, METH_NOARGS, NULL} [static]

Definition at line 50 of file bpy_interface_atexit.c.