Hi Daniel and Denis,
the issue is that if you are running two instances of xournal (i.e., edit
two documents in parallel) then upon closing the second instance the MRU
entries added by the first instance are plainly overwritten. Since I
usually have more than a single instance of xournal running, this makes the
MRU list unpredictable and therefore almost useless.
I think an easy way to fix this would be to annotate the MRU list with time
stamps, and then to merge the latest MRU on disk with the one in memory.
Unless you object to the general approach, I will propose a patch some time
in the next weeks (if I manage to get xournal to compile again on Windows..
;-).
> I agree with Denis. I don't think it is worth saving the MRU all the
time.
FWIW, I expressed the same sentiment in my email ;)
Best regards,
Michael
On Wed Dec 10 2014 at 12:53:15 PM D M German <d...@uvic.ca> wrote:
>
>
> Denis> Hi Michael,
> >> the discussion on MRU reminded me of another problem, namely that if
> one
> >> is running multiple instances of Xournal then the MRU file tends to be
> >> overwritten instead of extended. I do not know of the top of my head if
> >> this is still the case. If yes then perhaps the MRU list should be
> >> re-read before updating.
>
> Denis> Yes, this is the case -- but it's harder to fix: besides
> Denis> re-reading it before updating, when we update it we need to do
> Denis> so not just in memory but also on disk. So each MRU update
> Denis> becomes: read from disk, update in memory, write to disk. The
> Denis> issue is that, with multiple instances running simultaneously
> Denis> and accessing the same MRU file fairly frequently, there is a
> Denis> risk of the file getting corrupted -- so we need to get an
> Denis> exclusive file lock during the read/update/write process.
>
> Yes, the issue of a run condition is there, but I think that is not hard
> to fix. The real problem is merging the lists. This require more complex
> logic and keeping track of when a file has been opened.
>
> >> Regarding updating the MRU file after each page change, I wonder if
> >> this could be a bit taxing in terms of power consumption on low-end
> devices.
>
> Denis> This is why the MRU normally only gets updated in memory -- then
> Denis> it's just one small thing to keep track of, much less work than
> Denis> updating the display. (But I think the only issue with updating
> Denis> on disk is spinning the hard disk on laptops that still have
> Denis> those.) We could do just a memory update when only the page
> Denis> number changes. But all in all it gets quite complicated. Not
> Denis> sure if I'm motivated to get it 100% right, it's not the most
> Denis> crucial feature.
>
> I agree with Denis. I don't think it is worth saving the MRU all the
> time. The only thing it adds is the ability to keep the MRU in case that
> xournal is killed (or crashes).
>
> --
> Daniel M. German "Much of my work has come
> John W. Backus -> from being lazy"
> http://turingmachine.org/
> http://silvernegative.com/
> dmg (at) uvic (dot) ca
> replace (at) with @ and (dot) with .
>
>
>
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Xournal-devel mailing list
Xournal-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xournal-devel