forked from Imagelibrary/binutils-gdb
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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user