Re: [twsocket] OverbyteIcsFtpCli v8 (current) old problem resurfaces

2014-02-12 Thread Arno Garrels
On Wednesday, February 12, 2014 9:12 AM [GMT+1=CET],
JohnC wrote:

>> try to call FControlSocket.Close instead of
>> FControlSocket.CloseDelayed. Does that fix it for you?

> From my testing that seems to fix the problem.
> Test against Filezilla
> server 0.9.41
> and vsFTPd 2.0.5

Thanks for reporting.
This change was added a couple of days ago 
(SVN rev. #1201):
http://wiki.overbyte.be/wiki/index.php/ICS_Download

-- 
Arno
 
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] OverbyteIcsFtpCli v8 (current) old problem resurfaces

2014-02-12 Thread twsocket


>From my testing that seems to fix the problem.
Test against Filezilla
server 0.9.41
and vsFTPd 2.0.5

Thank You,
JohnC

> On Friday, February 07, 2014 9:25 AM [GMT+1=CET],
>
Arno Garrels wrote:
> 
>> On Friday, February 07, 2014
2:20 AM [GMT+1=CET],
>> twsoc...@kglt.net wrote:
>>
>>> WaitUntilReady just loops looking for
ftpReady
>>> and it never happens.
>>>
>>> as a quick and dirty fix, in
>>>
DoneQuitAsync, I changed the StateChange from ftpInternalReady to
>>> ftpReady and put the FControlSocket.CloseDelayed before
the
>>> statechange.
> 
> Don't change the
State but try to call FControlSocket.Close instead of
>
FControlSocket.CloseDelayed. Does that fix it for you?
> 
> --
> Arno
> 
> 
> 
> 
> 
> --
> To unsubscribe or change your settings for
TWSocket mailing list
> please goto
http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
> Visit
our website at http://www.overbyte.be
>
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] OverbyteIcsFtpCli v8 (current) old problem resurfaces

2014-02-07 Thread Arno Garrels
On Friday, February 07, 2014 9:25 AM [GMT+1=CET],
Arno Garrels wrote:

> On Friday, February 07, 2014 2:20 AM [GMT+1=CET],
> twsoc...@kglt.net wrote:
> 
>> WaitUntilReady just loops looking for ftpReady
>> and it never happens.
>> 
>> as a quick and dirty fix, in
>> DoneQuitAsync, I changed the StateChange from ftpInternalReady to
>> ftpReady and put the FControlSocket.CloseDelayed before the
>> statechange.

Don't change the State but try to call FControlSocket.Close instead of
FControlSocket.CloseDelayed. Does that fix it for you?

-- 
Arno 
   




-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] OverbyteIcsFtpCli v8 (current) old problem resurfaces

2014-02-07 Thread Angus Robertson - Magenta Systems Ltd
> { V8.03 InternalReady happens between multiple commands, ignore it }
> if FState in [ftpReady {, ftpInternalReady}] then begin
> Include ftpInternalReady in the check and it should work again.
> 
> @Angus, why did you change it?  

For the reason documented in the code, the longer version is at the top of the
module:

> Fixed bug in WaitUntilReady that meant some sync methods with multiple
> commands randomly terminated prematurely allowing further commands to
> be sent usually resulting in not ready errors.

TriggerRequestDone is called after each command which sets ftpInternalReady
(except for passive PUT), but this means it's set briefly during numerous async
methods, often after PORT before LIST, GET or PUT has started.  So
WaitUntilReady exits before other commands are done.  I'd been seeing these
errors for many years.

Angus



 




-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] OverbyteIcsFtpCli v8 (current) old problem resurfaces

2014-02-07 Thread Arno Garrels
On Friday, February 07, 2014 2:20 AM [GMT+1=CET],
twsoc...@kglt.net wrote:

> WaitUntilReady just loops looking for ftpReady
> and it never happens.
> 
> as a quick and dirty fix, in
> DoneQuitAsync, I changed the StateChange from ftpInternalReady to
> ftpReady and put the FControlSocket.CloseDelayed before the
> statechange. 

Don't do that.

> This works but it's a hack, and will come back to bit me.
> 
> Any idea
> where the real problem is?

The problem seem to be latest change in function TFtpClient.WaitUntilReady;
{code}
{ V8.03 InternalReady happens between multiple commands, ignore it }
if FState in [ftpReady {, ftpInternalReady}] then begin
{code}

Include ftpInternalReady in the check and it should work again.

@Angus, why did you change it?  

-- 
Arno
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be