YONETANI Tomokazu wrote:
exec_t *js; while ((js = g_async_queue_try_pop (js_queue))) { /* spin; play_exec gets this & the GDK lock in reverse order */ while (pthread_mutex_trylock (&widgets_update_lock)) sched_yield (); pthread_mutex_unlock (&widgets_update_lock); /* JS 'play()' needs it */
ehm? are they using the event of unlocking a mutex as some kind of signaling? and why wouldn't they just use get the lock?
engine_exec_obj (js->cmd, js->obj, js->cb, js->cb_data, js->ecb, js->src); free (js->cmd); free (js->src); free (js); } return TRUE; }
I wonder what happens if you use libthread_xu instead of libc_r (not sure if it's easy to replace the use of pthead library).
I'm not sure how much works with libthread_xu. We're at least missing signaling bits in the kernel. cheers simon -- Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\ Work - Mac +++ space for low €€€ NOW!1 +++ Campaign \ / Party Enjoy Relax | http://dragonflybsd.org Against HTML \ Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
signature.asc
Description: OpenPGP digital signature