]> git.michaelhowe.org Git - packages/o/openafs.git/commit
DEVEL15-windows-smb-dead-vc-gc-20080627
authorJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 27 Jun 2008 20:45:11 +0000 (20:45 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 27 Jun 2008 20:45:11 +0000 (20:45 +0000)
commitf1b47699527ace93c82dc4ec30a8ca52931e3517
tree3b62aa1c245c60bb20677d58d52e5cb694e9e64f
parent9208006f42c9dce6f115a4feeafda83f0a62e8de
DEVEL15-windows-smb-dead-vc-gc-20080627

LICENSE MIT

When an SMB virtual circuit is prematurely closed due to an error
condition by one thread it is possible that there are still several
other threads still using the VC which will determine that the VC
is dead shortly.  As a result we maintain a dead vc list to ensure
that dead vcs are not destroyed while still in use.

With the addition of locking though this causes a problem because the
locks allocated to the virtual circuit are not freed until the vc is
destroyed.

This patch reworks the cleanup routine to make the freeing of resources
the responsibility of the release routine when the refcount hits 0
and the VC is marked dead.

(cherry picked from commit 49db6afe0aeb646d712a5319a7ea1a511f66f298)
src/WINNT/afsd/smb.c