PHP 8.1.33
Preview: pyarena.h Size: 2.63 KB
/usr/include/python2.7/pyarena.h

/* An arena-like memory interface for the compiler.
 */

#ifndef Py_PYARENA_H
#define Py_PYARENA_H

#ifdef __cplusplus
extern "C" {
#endif

  typedef struct _arena PyArena;

  /* PyArena_New() and PyArena_Free() create a new arena and free it,
     respectively.  Once an arena has been created, it can be used
     to allocate memory via PyArena_Malloc().  Pointers to PyObject can
     also be registered with the arena via PyArena_AddPyObject(), and the
     arena will ensure that the PyObjects stay alive at least until
     PyArena_Free() is called.  When an arena is freed, all the memory it
     allocated is freed, the arena releases internal references to registered
     PyObject*, and none of its pointers are valid.
     XXX (tim) What does "none of its pointers are valid" mean?  Does it
     XXX mean that pointers previously obtained via PyArena_Malloc() are
     XXX no longer valid?  (That's clearly true, but not sure that's what
     XXX the text is trying to say.)

     PyArena_New() returns an arena pointer.  On error, it
     returns a negative number and sets an exception.
     XXX (tim):  Not true.  On error, PyArena_New() actually returns NULL,
     XXX and looks like it may or may not set an exception (e.g., if the
     XXX internal PyList_New(0) returns NULL, PyArena_New() passes that on
     XXX and an exception is set; OTOH, if the internal
     XXX block_new(DEFAULT_BLOCK_SIZE) returns NULL, that's passed on but
     XXX an exception is not set in that case).
  */
  PyAPI_FUNC(PyArena *) PyArena_New(void);
  PyAPI_FUNC(void) PyArena_Free(PyArena *);

  /* Mostly like malloc(), return the address of a block of memory spanning
   * `size` bytes, or return NULL (without setting an exception) if enough
   * new memory can't be obtained.  Unlike malloc(0), PyArena_Malloc() with
   * size=0 does not guarantee to return a unique pointer (the pointer
   * returned may equal one or more other pointers obtained from
   * PyArena_Malloc()).
   * Note that pointers obtained via PyArena_Malloc() must never be passed to
   * the system free() or realloc(), or to any of Python's similar memory-
   * management functions.  PyArena_Malloc()-obtained pointers remain valid
   * until PyArena_Free(ar) is called, at which point all pointers obtained
   * from the arena `ar` become invalid simultaneously.
   */
  PyAPI_FUNC(void *) PyArena_Malloc(PyArena *, size_t size);

  /* This routine isn't a proper arena allocation routine.  It takes
   * a PyObject* and records it so that it can be DECREFed when the
   * arena is freed.
   */
  PyAPI_FUNC(int) PyArena_AddPyObject(PyArena *, PyObject *);

#ifdef __cplusplus
}
#endif

#endif /* !Py_PYARENA_H */

Directory Contents

Dirs: 0 × Files: 93

Name Size Perms Modified Actions
44.17 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.07 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
230 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
792 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
912 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
922 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.90 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.13 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.74 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
651 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
4.94 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.93 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.86 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
4.30 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
6.03 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.04 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.81 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.96 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
8.12 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.42 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
6.73 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
338 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
253 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.37 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
557 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
3.58 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
5.49 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
3.18 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.92 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
891 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.87 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.00 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.17 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.91 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
274 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
522 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.51 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
3.82 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
5.67 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
713 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.76 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
253 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
3.28 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
4.91 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
609 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
938 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
39.12 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
14.00 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
4.70 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.03 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.74 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.42 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
253 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.15 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.63 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.64 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
37.02 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
162 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.24 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.29 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
11.47 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.07 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
8.27 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
348 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.92 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
8.43 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
7.16 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
4.60 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
31.79 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
6.25 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
463 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.54 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
20.62 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
4.27 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
7.06 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.13 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
4.17 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
646 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
3.06 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.64 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
7.79 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.83 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
862 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
3.64 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
865 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
541 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
1.76 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
697 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.18 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
924 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
51.00 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
635 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.74 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).