On Mon, May 14, 2007 at 09:54:10AM -0300, Davi Arnaut wrote: > Joe Orton wrote: > > On Fri, May 11, 2007 at 10:38:01PM -0300, Davi Arnaut wrote: > >> The patches improves the locking interaction with buffering. But, quite > >> frankly, the unix file_io locking and buffering is a bit messed. There > >> is no clear indication which functions are protected by APR_XTHREAD, > >> checks for partial writes on flushing are missing, buffering and file > >> positioning don't play well together, et cetera. > > > > I don't disagree that the existing buffering/mutex stuff is a mess, but > > nested mutexes are not available on all platforms, so they can't be > > relied upon. > > Pools also use nested mutexes.
Only in the APR_POOL_DEBUG code. > So, I guess those platforms need to be fixed. BTW, which platforms > that use unix/file_io don't support nested mutexes? Anything which doesn't support PTHREAD_MUTEX_RECURSIVE: older Linuxes, probably some BSDs; not sure about any of the more exotic Unixes. joe
