FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cpython/Include/cpython/context.h at main · python/cpython · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
python
/
cpython
Public
Uh oh!
There was an error while loading.
Please reload this page
.
Notifications
You must be signed in to change notification settings
Fork
35.3k
Star
74.9k
Code
Issues
5k+
Pull requests
2.6k
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cpython
/
Include
/
cpython
/
context.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
107 lines (80 loc) · 2.88 KB
Breadcrumbs
cpython
/
Include
/
cpython
/
context.h
Copy path
File metadata and controls
107 lines (80 loc) · 2.88 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#ifndef
Py_LIMITED_API
#ifndef
Py_CONTEXT_H
#define
Py_CONTEXT_H
#ifdef
__cplusplus
extern
"C"
{
#endif
PyAPI_DATA
(
PyTypeObject
)
PyContext_Type
;
typedef
struct
_pycontextobject
PyContext
;
PyAPI_DATA
(
PyTypeObject
)
PyContextVar_Type
;
typedef
struct
_pycontextvarobject
PyContextVar
;
PyAPI_DATA
(
PyTypeObject
)
PyContextToken_Type
;
typedef
struct
_pycontexttokenobject
PyContextToken
;
#define
PyContext_CheckExact
(
o
) Py_IS_TYPE((o), &PyContext_Type)
#define
PyContextVar_CheckExact
(
o
) Py_IS_TYPE((o), &PyContextVar_Type)
#define
PyContextToken_CheckExact
(
o
) Py_IS_TYPE((o), &PyContextToken_Type)
PyAPI_FUNC
(
PyObject
*
)
PyContext_New
(
void
);
PyAPI_FUNC
(
PyObject
*
)
PyContext_Copy
(
PyObject
*
);
PyAPI_FUNC
(
PyObject
*
)
PyContext_CopyCurrent
(
void
);
PyAPI_FUNC
(
int
)
PyContext_Enter
(
PyObject
*
);
PyAPI_FUNC
(
int
)
PyContext_Exit
(
PyObject
*
);
typedef
enum
{
/*
* The current context has switched to a different context. The object
* passed to the watch callback is the now-current contextvars.Context
* object, or None if no context is current.
*/
Py_CONTEXT_SWITCHED
=
1
,
}
PyContextEvent
;
/*
* Context object watcher callback function. The object passed to the callback
* is event-specific; see PyContextEvent for details.
*
* if the callback returns with an exception set, it must return -1. Otherwise
* it should return 0
*/
typedef
int
(
*
PyContext_WatchCallback
)(
PyContextEvent
,
PyObject
*
);
/*
* Register a per-interpreter callback that will be invoked for context object
* enter/exit events.
*
* Returns a handle that may be passed to PyContext_ClearWatcher on success,
* or -1 and sets and error if no more handles are available.
*/
PyAPI_FUNC
(
int
)
PyContext_AddWatcher
(
PyContext_WatchCallback
callback
);
/*
* Clear the watcher associated with the watcher_id handle.
*
* Returns 0 on success or -1 if no watcher exists for the provided id.
*/
PyAPI_FUNC
(
int
)
PyContext_ClearWatcher
(
int
watcher_id
);
/* Create a new context variable.
default_value can be NULL.
*/
PyAPI_FUNC
(
PyObject
*
)
PyContextVar_New
(
const
char
*
name
,
PyObject
*
default_value
);
/* Get a value for the variable.
Returns -1 if an error occurred during lookup.
Returns 0 if value either was or was not found.
If value was found, *value will point to it.
If not, it will point to:
- default_value, if not NULL;
- the default value of "var", if not NULL;
- NULL.
'*value' will be a new ref, if not NULL.
*/
PyAPI_FUNC
(
int
)
PyContextVar_Get
(
PyObject
*
var
,
PyObject
*
default_value
,
PyObject
*
*
value
);
/* Set a new value for the variable.
Returns NULL if an error occurs.
*/
PyAPI_FUNC
(
PyObject
*
)
PyContextVar_Set
(
PyObject
*
var
,
PyObject
*
value
);
/* Reset a variable to its previous value.
Returns 0 on success, -1 on error.
*/
PyAPI_FUNC
(
int
)
PyContextVar_Reset
(
PyObject
*
var
,
PyObject
*
token
);
#ifdef
__cplusplus
}
#endif
#endif
/* !Py_CONTEXT_H */
#endif
/* !Py_LIMITED_API */
Back
|
FazBrowse Home
|
New Git URL