Justin Erenkrantz wrote:
I took a look at the locking problem, and I think it can be fixed rather
trivially. This is a minor problem in that it only affects the case where the
child doesn't share memory addresses - such as when happens by using apr_proc_create. Hence, adding an 'apr_*_mutex_join' could solve the problem.
Here's my 2am approach for solving this - now the testglobalmutex passes for
FCNTL on Solaris. The others would need 'stub' implementations for join implemented - or their join could call create if no special work is needed.
How this is different from _create() ? Isn't (p1-create, p2-join) same as (p1-create, p2-create) ?
Correct me if I am wrong.
But, now that I understand the problem, I still don't see why this would be
considered a 1.0 showstopper.
I agree now :)
If we recommend create-join sequence(which IMO serves same purpose)
instead of create-child_init sequence we could possibly go ahead with broken _child_init.
Cheers ~Amit