Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: gdb/python/py-evts.c

Issue 124383005: GDB 7.6.50 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@upstream
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/python/py-evtregistry.c ('k') | gdb/python/py-exitedevent.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Python interface to inferior events. 1 /* Python interface to inferior events.
2 2
3 Copyright (C) 2009-2012 Free Software Foundation, Inc. 3 Copyright (C) 2009-2013 Free Software Foundation, Inc.
4 4
5 This file is part of GDB. 5 This file is part of GDB.
6 6
7 This program is free software; you can redistribute it and/or modify 7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or 9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version. 10 (at your option) any later version.
11 11
12 This program is distributed in the hope that it will be useful, 12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details. 15 GNU General Public License for more details.
16 16
17 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 19
20 #include "defs.h"
20 #include "py-events.h" 21 #include "py-events.h"
21 22
23 #ifdef IS_PY3K
24 static struct PyModuleDef EventModuleDef =
25 {
26 PyModuleDef_HEAD_INIT,
27 "gdb.events",
28 NULL,
29 -1,
30 NULL,
31 NULL,
32 NULL,
33 NULL,
34 NULL
35 };
36 #endif
37
22 /* Initialize python events. */ 38 /* Initialize python events. */
23 39
24 static int 40 static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION
25 add_new_registry (eventregistry_object **registryp, char *name) 41 add_new_registry (eventregistry_object **registryp, char *name)
26 { 42 {
43 int result;
44
27 *registryp = create_eventregistry_object (); 45 *registryp = create_eventregistry_object ();
28 46
29 if (*registryp == NULL) 47 if (*registryp == NULL)
30 goto fail; 48 return -1;
31 49
32 if (PyModule_AddObject (gdb_py_events.module, 50 return gdb_pymodule_addobject (gdb_py_events.module,
33 name, 51 » » » » name,
34 (PyObject *)(*registryp)) < 0) 52 » » » » (PyObject *)(*registryp));
35 goto fail; 53 }
54
55 int
56 gdbpy_initialize_py_events (void)
57 {
58 #ifdef IS_PY3K
59 gdb_py_events.module = PyModule_Create (&EventModuleDef);
60 #else
61 gdb_py_events.module = Py_InitModule ("events", NULL);
62 #endif
63
64 if (!gdb_py_events.module)
65 return -1;
66
67 if (add_new_registry (&gdb_py_events.stop, "stop") < 0)
68 return -1;
69
70 if (add_new_registry (&gdb_py_events.cont, "cont") < 0)
71 return -1;
72
73 if (add_new_registry (&gdb_py_events.exited, "exited") < 0)
74 return -1;
75
76 if (add_new_registry (&gdb_py_events.new_objfile, "new_objfile") < 0)
77 return -1;
78
79 if (gdb_pymodule_addobject (gdb_module,
80 » » » "events",
81 » » » (PyObject *) gdb_py_events.module) < 0)
82 return -1;
36 83
37 return 0; 84 return 0;
38
39 fail:
40 Py_XDECREF (*registryp);
41 return -1;
42 } 85 }
43
44 void
45 gdbpy_initialize_py_events (void)
46 {
47 gdb_py_events.module = Py_InitModule ("events", NULL);
48
49 if (!gdb_py_events.module)
50 goto fail;
51
52 if (add_new_registry (&gdb_py_events.stop, "stop") < 0)
53 goto fail;
54
55 if (add_new_registry (&gdb_py_events.cont, "cont") < 0)
56 goto fail;
57
58 if (add_new_registry (&gdb_py_events.exited, "exited") < 0)
59 goto fail;
60
61 if (add_new_registry (&gdb_py_events.new_objfile, "new_objfile") < 0)
62 goto fail;
63
64 Py_INCREF (gdb_py_events.module);
65 if (PyModule_AddObject (gdb_module,
66 "events",
67 (PyObject *) gdb_py_events.module) < 0)
68 goto fail;
69
70 return;
71
72 fail:
73 gdbpy_print_stack ();
74 }
OLDNEW
« no previous file with comments | « gdb/python/py-evtregistry.c ('k') | gdb/python/py-exitedevent.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698