Matthew Dillon wrote:
>   Log:
>   Fix a bug in umtx_sleep().  This function sleeps on the mutex's physical
>   address and will get lost if the physical page underlying the VM address is
>   copied on write.  This case can occur when a threaded program fork()'s.
>   
>   Introduce a VM page event notification mechanism and use it to wake-up
>   the umtx_sleep() if the underlying page takes a COW fault.

While this doesn't seem like a very big hack, I still wonder how we could do 
this more elegantly.  Essentially, the locking process should not lose the 
physical page, I'd say.  The newly forked process may not use this lock 
anyways.  How are other OSes dealing with this?  Or are they simply disallowing 
futexes/umutexes for inter-process locking?

cheers
  simon


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to