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

Reply via email to