fix file write race condition
19 files changed