Looks like a simple bug. Since your multi threaded add the calls test and send a patch.
On Jan 22, 2008 4:05 AM, Jerin <[EMAIL PROTECTED]> wrote: > > Hi All, > > We are currently involved in bringing up a multi-threaded graphics > abstraction layer on top of GTK-DFB. We are facing issues with the event > dispatch mechanism of GTK-DFB. On further analysis, we find that the > GTK-X11's event dispatch mechanism is a bit different from that of GTK-DFB. > > The GTK-X11's event dispatch is thread safe i.e Please find below the > GTK-X11's event dispatch function code. > > static gboolean > gdk_event_dispatch (GSource *source, > GSourceFunc callback, > gpointer user_data) > { > GdkDisplay *display = ((GdkDisplaySource*)source)->display; > GdkEvent *event; > > ------------> GDK_THREADS_ENTER ();<-------------- > > _gdk_events_queue (display); > event = _gdk_event_unqueue (display); > > if (event) > { > if (_gdk_event_func) > (*_gdk_event_func) (event, _gdk_event_data); > > gdk_event_free (event); > } > > ------------> GDK_THREADS_LEAVE ();<--------------- > > return TRUE; > } > > In comparison to this we find that GTK-DFB's event dispatch code is not > thread safe. > > static void > dfb_events_dispatch (void) > { > GdkDisplay *display = gdk_display_get_default (); > GdkEvent *event; > > ------------>" THREAD PROTECTION MISSING"<-------------- > > while ((event = _gdk_event_unqueue (display)) != NULL) > { > if (_gdk_event_func) > (*_gdk_event_func) (event, _gdk_event_data); > > gdk_event_free (event); > } > > ------------>" THREAD PROTECTION MISSING"<-------------- > } > > > It would be of great help for us if someone could throw some light on the > queries below. > > 1. Was this implementation of GTK-DFB's event dispatching made not thread > safe? If so what is the reason behind it? > > 2. How is the application expected to be designed for the GTK-DFB > environment? > > 3. Is it advisable to port a multi-threaded graphics abstraction layer on > top of GTK-DFB? > > Regards, > Jerin > > > > The information contained in this electronic message and any attachments to > this message are intended for the exclusive use of the addressee(s) and may > contain proprietary, confidential or privileged information. If you are not > the intended recipient, you should not disseminate, distribute or copy this > e-mail. Please notify the sender immediately and destroy all copies of this > message and any attachments contained in it. > > Contact your Administrator for further information. > _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev