SteveKing schrieb:
>>
>> I can NOT give you a 'go'. Currently I am trying to debug the client
>> part: When you terminate TSVNCache, the shell does not restart it. Do
>> you have an idea what I broke?
>
>
> The ClosePipe() method doesn't invalidate the m_hPipe in case of an
> error. I added
> m_hPipe = INVALID_HANDLE_VALUE;
> in line 183 and 86, just before the call to ClosePipe(). Then it works.
It was a copy and paste error on my side. The if () in ClosePipe should
read like this:
void CRemoteCacheLink::ClosePipe()
{
AutoLocker lock(m_critSec);
// close the pipe if it is open
if(m_hPipe != INVALID_HANDLE_VALUE)
{
CloseHandle(m_hPipe);
CloseHandle(m_hEvent);
m_hPipe = INVALID_HANDLE_VALUE;
m_hEvent = INVALID_HANDLE_VALUE;
}
}
If that works, you may 'go'.
Regarding the TSVNCache threads closing cleanly, the way I prevere is a
"shutdown" event, and then have the threads use WaitForMultipleObjects()
when waiting for the pipes. But I still do not understand what that
whole thing is about. When closing the application, Windows closes all
handles. Your shutdown method wouldn't close the instance threads, would
they?
Norbert
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Sat Apr 30 14:00:37 2005