SteveKing schrieb:
>> #4: The pipe server in TSVNCache calls WaitNamePipe(). Though I do
>> not believe it causes any harm there, it is normally used on the
>> client side to wait for the next free instance of a pipe before
>> connecting to the pipe. It should be called if the OpenFile errors
>> out with a ERROR_PIPE_BUSY error.
>
>
> I added that call to have a timeout. Without a timeout, the
> ConnectNamedPipe() call will wait infinitely until a client connects,
> leaving the thread in a waiting state.
I thought that would be the reason. However, I think that
WaitNamedPipe() on the server side will either always return immedatiely
(becausue a pipe instance has been created) or always fall into the
timeout (because ConnectNamedPipe has not been called). WaitNamedPipe
does *not* wait until a client has been connected to a server pipe. But
I may be wrong, I have not stepped through that line of code.
To terminate the pipe threads in a clean way there are better ways than
the global bRun flag. I might create a patch for that some other time.
> The patch looks very good. I'm currently doing some testing with it.
> As soon as you give the 'go' signal, I'll commit it.
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?
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 13:23:15 2005