Message163358
| Author |
petri.lehtinen |
| Recipients |
barry, petri.lehtinen, r.david.murray |
| Date |
2012年06月21日.18:31:28 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1340303489.68.0.256081888836.issue15122@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
I looked at the source code of mutt to see how it rewrites mbox files. It does roughly this:
1. Block some signals.
2. Lock the mbox file (with dotlock, fcntl and flock).
3. Create a temporary file in /tmp.
4. Write messages to the temporary file, from the point where the first change is up to the end of the mbox file. This saves a lot of writing when the first change is near the end of the file.
5. Write changes from the temporary file to the mbox file, modifying the mbox file in-place.
6. Truncate the mbox file to the correct length.
7. Unblock signals.
If writing the changes back to the mbox file fails, the temporary file is copied from /tmp to near the mbox file. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2012年06月21日 18:31:29 | petri.lehtinen | set | recipients:
+ petri.lehtinen, barry, r.david.murray |
| 2012年06月21日 18:31:29 | petri.lehtinen | set | messageid: <1340303489.68.0.256081888836.issue15122@psf.upfronthosting.co.za> |
| 2012年06月21日 18:31:29 | petri.lehtinen | link | issue15122 messages |
| 2012年06月21日 18:31:28 | petri.lehtinen | create |
|