Threadding issue

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Thu Jul 27 20:22:44 PDT 2006


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   / \
Attachment:
signature.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00028.pgp
Type: application/octet-stream
Size: 252 bytes
Desc: "Description: OpenPGP digital signature"
URL: <http://lists.dragonflybsd.org/pipermail/bugs/attachments/20060727/afc02411/attachment-0016.obj>


More information about the Bugs mailing list