cpython/Modules/_zstd/zstddict.h
Emma Smith 8dbc119719
gh-133885: Use locks instead of critical sections for _zstd (gh-134289)
Move from using critical sections to locks for the (de)compression methods.
Since the methods allow other threads to run, we should use a lock rather
than a critical section.
2025-05-22 23:30:10 -04:00

27 lines
720 B
C

/* Low level interface to the Zstandard algorthm & the zstd library. */
#ifndef ZSTD_DICT_H
#define ZSTD_DICT_H
#include <zstd.h> // ZSTD_DDict
typedef struct {
PyObject_HEAD
/* Reusable compress/decompress dictionary, they are created once and
can be shared by multiple threads concurrently, since its usage is
read-only.
c_dicts is a dict, int(compressionLevel):PyCapsule(ZSTD_CDict*) */
ZSTD_DDict *d_dict;
PyObject *c_dicts;
/* Content of the dictionary, bytes object. */
PyObject *dict_content;
/* Dictionary id */
uint32_t dict_id;
/* Lock to protect the digested dictionaries */
PyMutex lock;
} ZstdDict;
#endif // !ZSTD_DICT_H