synchronized file access