2012/4/1 "Daniel Schürmann" <dasch...@gmx.de>: > Hi, > > I have made some investigations about file locks and mmap. > > On Linux file locks are useless for our alleged problem because all > applications have to be "cooperative". There is a paper on kernel.org which > describes a mandatory locking, but I have not managed to get it working with > ubuntu. > http://kernel.org/doc/Documentation/filesystems/mandatory-locking.txt > > But the original problem on Bug #728197 was different. Mixxx corrupts its own > mmap buffer in SoundSourceMp3 due to its own metatdata writes. > > Unfortunately the Qt implementation uses the MAP_SHARED flag. But in my test > writes from a different process to the original file does not effect the mmap > buffer. Is this true in general? > > Conclusion: > * we have to verify that all track files are read mmaped by Mixxx. > * we have to figure out if my test results are valid for Linux Mac Os and > Windows in general > * If so, we need not to be worried about external processes that writes > metatdata to the files. > * If the Mixxx mmap buffer is still untouched due writes from a forked() > process in face of Qts MAP_SHARED flag, it should be save to write metadata > to a track file using an external process. > > What do you think?
This sounds pretty tricky. Would it simplify our lives if we dropped mmapped I/O? (sorry Owen!) Also, I thought we had a TIO cache at one point so you wouldn't have multiple TrackInfoObjects for a single track loaded into multiple decks. If that's still true, I'd just write in the destructor. I'm probably oversimplifying though.... Albert -- Albert Santoni Developer, Mixxx http://www.mixxx.org http://www.oscillicious.com ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ Get Mixxx, the #1 Free MP3 DJ Mixing software Today http://mixxx.org Mixxx-devel mailing list Mixxx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mixxx-devel