When a cache filler function returns without success, we need to delete
the empty file we create so that it doesn't trigger a false positive the
next time we access it.
We return after checking if the fetcher function succeeds. To do this
properly, we should store the value we get so that the cached file can
be closed before returning.
Attempt to close the file passed to the get callback function. Closing
is the right thing to do, but it is possible that the user will close it
before returning..