summaryrefslogtreecommitdiffstats
path: root/gobject/pygmainloop.c
Commit message (Collapse)AuthorAgeFilesLines
* Move maincontext and mainloop over to glib. Update the threadstate api toJohan Dahlin2008-07-201-368/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-07-20 Johan Dahlin <johan@gnome.org> * glib/Makefile.am: * glib/glibmodule.c (pyglib_main_context_default), (init_glib): * glib/pyglib.c (pyglib_init), (pyglib_threads_enabled), (pyglib_main_context_new): * glib/pyglib.h: * glib/pygmaincontext.c (_wrap_g_main_context_iteration), (pyglib_maincontext_register_types): * glib/pygmaincontext.h: * glib/pygmainloop.c (pyg_signal_watch_prepare), (pyg_signal_watch_check), (pyg_main_loop_new), (_wrap_g_main_loop_get_context), (_wrap_g_main_loop_run), (pyglib_mainloop_register_types): * glib/pygmainloop.h: * gobject/Makefile.am: * gobject/__init__.py: * gobject/gobjectmodule.c (pyg_destroy_notify), (pyobject_free), (pyg_object_set_property), (pyg_object_get_property), (_pyg_signal_accumulator), (pygobject__g_instance_init), (pyg_handler_marshal), (pygobject_gil_state_ensure), (pygobject_gil_state_release), (marshal_emission_hook), (_log_func), (init_gobject): * gobject/pygboxed.c (pyg_boxed_dealloc), (pyg_boxed_new): * gobject/pygenum.c (pyg_enum_add): * gobject/pygflags.c (pyg_flags_add): * gobject/pygiochannel.c (pyg_iowatch_marshal): * gobject/pygmaincontext.c: * gobject/pygmainloop.c: * gobject/pygobject-private.h: * gobject/pygobject.c (pygobject_data_free), (pyg_toggle_notify), (pygobject_new_with_interfaces), (pygobject_weak_ref_notify): * gobject/pygobject.h: * gobject/pygoptiongroup.c (destroy_g_group), (arg_func): * gobject/pygpointer.c (pyg_pointer_new): * gobject/pygsource.c (pyg_source_get_context), (pyg_source_prepare), (pyg_source_check), (pyg_source_dispatch), (pyg_source_finalize): * gobject/pygtype.c (pyg_closure_invalidate), (pyg_closure_marshal), (pyg_signal_class_closure_marshal): * tests/common.py: Move maincontext and mainloop over to glib. Update the threadstate api to use the variant in glib. svn path=/trunk/; revision=843
* Reviewed by: GustavoJohan Dahlin2008-01-031-11/+63
| | | | | | | | | | | | | | | 2008-01-03 Johan Dahlin <johan@gnome.org> Reviewed by: Gustavo * configure.ac: * gobject/pygmainloop.c (pyg_signal_watch_prepare): Optinally use PySignal_SetWakeupFd to avoid having to do a timeout to find out if there are any pending signals from python. Fixes #481569 svn path=/trunk/; revision=723
* Increase the timeout to 1000ms instead of 100.Johan Dahlin2006-09-061-1/+1
| | | | | * gobject/pygmainloop.c (pyg_signal_watch_prepare): Increase the timeout to 1000ms instead of 100.
* gobject/pygobject-private.h Add a convenience functionManish Singh2005-08-011-11/+1
| | | | | | | | | | | | | | | 2005-08-01 Manish Singh <yosh@gimp.org> * gobject/pygobject-private.h * gobject/pygmaincontext.c: Add a convenience function (pyg_main_context_new) to create a PyGMainContext from a GMainContext. Takes care of refing the supplied GMainContext as well. * gobject/gobjectmodule.c (pyg_main_context_default) * gobject/pygmainloop.c (_wrap_g_main_loop_get_context) * gobject/pygsource.c (pyg_source_get_context): use the new convenience function here. This fixes bug #312259.
* don't pass a NULL value to PyThread_set_key_value() - causes an assertionMark McLoughlin2005-02-101-1/+2
| | | | | | | | 2005-02-10 Mark McLoughlin <mark@skynet.ie> * gobject/pygmainloop.c: (pyg_restore_current_main_loop): don't pass a NULL value to PyThread_set_key_value() - causes an assertion failure with python 2.4.
* Fix for bug #154779 - Python signal handlers don't get executed whileMark McLoughlin2005-02-091-2/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-02-09 Mark McLoughlin <mark@skynet.ie> Fix for bug #154779 - Python signal handlers don't get executed while you're sitting in the main loop. * gobject/pygmainloop.c: (pyg_save_current_main_loop), (pyg_restore_current_main_loop), (pyg_get_current_main_loop): functions for keeping track of the currently running main loop. A version using TLS and another using a global variable, depending on whether DISABLE_THREADING is defined (pyg_signal_watch_prepare), (pyg_signal_watch_check), (pyg_signal_watch_dispatch), (pyg_signal_watch_new): a GSource which runs the python signal handlers whenever the mainloop is interrupted by signal delivery. (pyg_main_loop_new), (pyg_main_loop_dealloc): add and remove the source. (_wrap_g_main_loop_run): push/pop the currently running main loop. * gobject/pygobject-private.h: add a pointer for the source to PyGMainLoop. * gobject/Makefile.am: add -DPLATFORM_WIN32 to cflags if building on Windows.
* make threading runtime optionalGustavo J. A. M. Carneiro2004-08-041-2/+2
|
* Add better support for boolean type now when we can require 2.3. Fixes bugJohan Dahlin2004-08-031-6/+1
| | | | | | | | | | | | | | | | | * codegen/argtypes.py: * gobject/gobjectmodule.c: (pyg_source_remove): * gobject/pygmaincontext.c: (_wrap_g_main_context_iteration), (_wrap_g_main_context_pending): * gobject/pygmainloop.c: (_wrap_g_main_loop_is_running): * gobject/pygobject.c: (pygobject_handler_is_connected): * gobject/pygparamspec.c: (pyg_param_spec_getattr): * gobject/pygtype.c: (pyg_value_as_pyobject): * gtk/gdk.override: * gtk/gtk.override: * gtk/gtktextview.override: * gtk/gtkwidget.override: * pango.override: Add better support for boolean type now when we can require 2.3. Fixes bug 149121
* Clean up most functions here to have only one return path.Johan Dahlin2004-08-031-2/+2
| | | | | | | | | | | | | | | | | | * gtk/pygtktreemodel.c: Clean up most functions here to have only one return path. * gobject/pygobject.c (pygobject_emit): Protect g_value_unset by UNBLOCK/BLOCK_THREADS since it might call pygobject_free which will result in a deadlock. * gobject/gobjectmodule.c (pyg_thread_init): New function, move thread initalization stuff in here. * All over the place: Kill pyg_block/unblock_threads and use PyGILState and Py_BEGIN/END_ALLOW_THREADS. unblock [code] block calls are replaced by Py_BEGIN/END and block [code] unblock calls are replaced by PyGILState.
* Update, why do I even bother to update 3 different build systems?Johan Dahlin2004-07-191-0/+163
* gobject/Makefile.am: * setup.py: * makefile.msc: Update, why do I even bother to update 3 different build systems? * gobject/: Split out GParamSpec, GMainLoop, GMainContext and GPointer to separate files. Also remove *.h files and go back to the old scheme (everything in pygobject.h)