Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
CVSROOT: /cvs Module name: cvsnt Changes by: arthur.barrett at march-hare.com Mon May 10 03:20:30 2010 On host: 2002:71c0:aa2:1:20c:29ff:fe0d:b365 Directory: cvsnt/lockservice M LockParse.cpp CVSNT_BRANCH_2_8_01_3761 1.8.2.39.6.8.2.2 -> 1.8.2.39.6.8.2.3 Bug Id: 5918 Directory: cvsnt/protocols M sspi.cpp CVSNT_BRANCH_2_8_01_3761 1.25.2.49.6.6 -> 1.25.2.49.6.6.2.1 Bug Id: 5918 Directory: cvsnt/src M cvs.h CVSNT_BRANCH_2_8_01_3761 1.93.2.208.6.29.2.3 -> 1.93.2.208.6.29.2.4 Bug Id: 5918 M lock.cpp CVSNT_BRANCH_2_8_01_3761 1.26.2.49.8.2.2.2 -> 1.26.2.49.8.2.2.3 Bug Id: 5918 M main.cpp CVSNT_BRANCH_2_8_01_3761 1.71.2.151.6.54.2.2 -> 1.71.2.151.6.54.2.3 Bug Id: 5918 M rcs.cpp CVSNT_BRANCH_2_8_01_3761 1.80.2.214.4.54.2.1 -> 1.80.2.214.4.54.2.2 Bug Id: 5918 M server.cpp CVSNT_BRANCH_2_8_01_3761 1.106.2.210.6.99.2.4 -> 1.106.2.210.6.99.2.5 Bug Id: 5918 Directory: cvsnt/windows-NT M config.h CVSNT_BRANCH_2_8_01_3761 1.55.2.60.6.5.4.2 -> 1.55.2.60.6.5.4.3 Bug Id: 5918 M filesubr.cpp CVSNT_BRANCH_2_8_01_3761 1.24.2.45.8.2.2.5 -> 1.24.2.45.8.2.2.6 Bug Id: 5918 M win32.cpp CVSNT_BRANCH_2_8_01_3761 1.72.2.150.6.44.2.5 -> 1.72.2.150.6.44.2.6 Bug Id: 5918 Log message: Server modified: * pass filename/mode/FILE* to do_lock_file() and then to do_lock_server() if do_lock_server() loops trying to establish a lock then: close file before sleep; open after sleep * lock server now tracks the process id (PID) of the client process (sill also tracks the IP address and username) * if username blank (eg: 'at' jobs 'SYSTEM') gives real name to lock server These new settings control the behaviour: LockFailReopen = 1 - close/open file handle between lock retries RCSOpenRetry = 30 - number of times to retry the open MoveSleepWait = 100 - on windows - number of milliseconds between movefileex() MoveSleepRetry = 300 - on windows - number of movefileex retries I've tested this on Windows XP x64 with a copy of the Paris+Scotty repositories with three (3) concurrent rtag operations. This combination previously would not finish either due to 'cannot rename file' errors or other timeouts. With the new default values this test completes successfully. Analysis of servertrace shows that MoveFileEx() still fails from time-to-time but a single 1/10th of a second wait is usually sufficient to rectify it (an wait's of less than 1 second are not reported to the user). Normal deadlock waits occur more often but with three concurrent tags starting at the same time on a mulit-cpu server this is to be expected. Example: cvsnt rtag: [13:05:32] waiting for SYSTEM on acerW64lap's lock (#4 pid=5416) in /cvsrepo/cvsnt/build.h,v cvsnt rtag: [13:05:33] obtained lock in build.h,v cvsnt rtag: [13:05:33] waiting for SYSTEM on acerW64lap's lock (#4 pid=5416) in /cvsrepo/cvsnt/config.sub,v cvsnt rtag: [13:05:35] obtained lock in config.sub,v