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

Reply via email to