Use gdbpy_enter in py-xmethods.c
Change the simple parts of py-xmethods.c to use gdbpy_enter. 2017-01-10 Tom Tromey <tom@tromey.com> * python/py-xmethods.c (gdbpy_free_xmethod_worker_data) (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
This commit is contained in:
parent
c57af3f12b
commit
f18e226ff8
2 changed files with 7 additions and 8 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
|
||||||
|
(gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
|
||||||
|
|
||||||
2017-01-10 Tom Tromey <tom@tromey.com>
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* python/py-type.c (save_objfile_types): Use gdbpy_enter.
|
* python/py-type.c (save_objfile_types): Use gdbpy_enter.
|
||||||
|
|
|
@ -52,18 +52,15 @@ gdbpy_free_xmethod_worker_data (const struct extension_language_defn *extlang,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
struct gdbpy_worker_data *worker_data = (struct gdbpy_worker_data *) data;
|
struct gdbpy_worker_data *worker_data = (struct gdbpy_worker_data *) data;
|
||||||
struct cleanup *cleanups;
|
|
||||||
|
|
||||||
gdb_assert (worker_data->worker != NULL && worker_data->this_type != NULL);
|
gdb_assert (worker_data->worker != NULL && worker_data->this_type != NULL);
|
||||||
|
|
||||||
/* We don't do much here, but we still need the GIL. */
|
/* We don't do much here, but we still need the GIL. */
|
||||||
cleanups = ensure_python_env (get_current_arch (), current_language);
|
gdbpy_enter enter_py (get_current_arch (), current_language);
|
||||||
|
|
||||||
Py_DECREF (worker_data->worker);
|
Py_DECREF (worker_data->worker);
|
||||||
Py_DECREF (worker_data->this_type);
|
Py_DECREF (worker_data->this_type);
|
||||||
xfree (worker_data);
|
xfree (worker_data);
|
||||||
|
|
||||||
do_cleanups (cleanups);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Implementation of clone_xmethod_worker_data for Python. */
|
/* Implementation of clone_xmethod_worker_data for Python. */
|
||||||
|
@ -74,12 +71,11 @@ gdbpy_clone_xmethod_worker_data (const struct extension_language_defn *extlang,
|
||||||
{
|
{
|
||||||
struct gdbpy_worker_data *worker_data
|
struct gdbpy_worker_data *worker_data
|
||||||
= (struct gdbpy_worker_data *) data, *new_data;
|
= (struct gdbpy_worker_data *) data, *new_data;
|
||||||
struct cleanup *cleanups;
|
|
||||||
|
|
||||||
gdb_assert (worker_data->worker != NULL && worker_data->this_type != NULL);
|
gdb_assert (worker_data->worker != NULL && worker_data->this_type != NULL);
|
||||||
|
|
||||||
/* We don't do much here, but we still need the GIL. */
|
/* We don't do much here, but we still need the GIL. */
|
||||||
cleanups = ensure_python_env (get_current_arch (), current_language);
|
gdbpy_enter enter_py (get_current_arch (), current_language);
|
||||||
|
|
||||||
new_data = XCNEW (struct gdbpy_worker_data);
|
new_data = XCNEW (struct gdbpy_worker_data);
|
||||||
new_data->worker = worker_data->worker;
|
new_data->worker = worker_data->worker;
|
||||||
|
@ -87,8 +83,6 @@ gdbpy_clone_xmethod_worker_data (const struct extension_language_defn *extlang,
|
||||||
Py_INCREF (new_data->worker);
|
Py_INCREF (new_data->worker);
|
||||||
Py_INCREF (new_data->this_type);
|
Py_INCREF (new_data->this_type);
|
||||||
|
|
||||||
do_cleanups (cleanups);
|
|
||||||
|
|
||||||
return new_data;
|
return new_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue