This made the code more complicated without reproducing the problem. This reverts commit 77632b7554000f2e832a0e9fded1a3894b2502c3.
This was an attempt to make the C code more similar to Go (which also reads from multiple threads). However, I still could not repro the ENOENT problems. https://github.com/rfjakob/gocryptfs/issues/483