This should probably close the file if `fcntl` fails?