One reason I've been resisting putting locks and stuff in g_array.c and places like that, is that I think there might still be some radical design changes needed before the thing is stable and consistent. So even if array-thread-locking went in now, all teh code that used it would have to keep changing all the time.
as long as the api wouldn't change, it's shouldn't be a problem... and the locks are only a few lines of code ...
cheers ... tim