(In reply to everx80 from comment #56)
> A temporary subdirectory with a unique name that cannot be otherwise created 
> would solve this?

Yeah, that'd probably do it, but I'm not planning to make further changes to 
that just now. My compaction rewrite a few weeks back uses an existing file 
class from m-c  (via `NS_NewSafeLocalFileOutputStream()`) which creates a 
unique file and automatically deletes it if an explicit commit is not 
performed. The old code required explicit cleanup handling, and there were lots 
of complicated error conditions could mean it'd get skipped.
So the new code is waaaaaay more robust and better at cleaning up.

Yes, it's probably possible to screw it up by abruptly killing (rather
than shutting down) the app at a critical point, or powering off... but
I'm not so worried about that. That way lies fsync() madness :-) The
benefits of using the battle-tested `NS_NewSafeLocalFileOutputStream()`
rather than rolling my own seems like a good trade-off for now.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2060534

Title:
  Thunderbird doesn't always clean nstmp cache files

To manage notifications about this bug go to:
https://bugs.launchpad.net/thunderbird/+bug/2060534/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to