Here, we close closeFd, but currently we don't decrement fdInUseCount.
Since we retry the open immediately afterwards, this means we can leak
fdInUseCount references. For example, if we retry this 5 times and get
EMFILE on each attempt, we will close 5 FDs, but not decrement
fdInUseCount at all.
To fix this, decrement fdInUseCounter when we close a file for EMFILE.
Change-Id: I347e37a8d670a6dde7e1d24eeb893c145d9e34e5
Reviewed-on: http://gerrit.openafs.org/9967
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
fdP->fd_fd = INVALID_FD;
IH_UNLOCK;
OS_CLOSE(closeFd);
+ IH_LOCK;
+ fdInUseCount -= 1;
+ IH_UNLOCK;
goto ih_open_retry;
}
} else {