Fix fd leak

If request was disconnected before the stat() callback was called, we
will never get the 'close' or 'error' event and the file descriptor will
stay open forever