Hi,
the behavior of m->ReadRaw is supposed, in case of error, to build a
message with the error information inside, to be passed to the higher
level for proper processing.
So, the only error expected from ReadRaw should be the impossibility
to create a Message object to be enqueued, which seems not the case.
May i have the piece of logfile explaining the error that the lower
levels encountered? This would help me in finding the problem.
Fabrizio
Peter Elmer wrote:
> Hi Fabrizio,
>
> It looks like this was never dealt with. Is there a useful way to check
> the return code and recover?
>
> Pete
>
> On Wed, Dec 15, 2004 at 03:10:35PM -0500, Gregory J. Sharp wrote:
>
>>The latest version of xrootd (20041214) is causing us some headaches.
>>We are getting repeated disconnections twixt client and server. This
>>may be our fault, but I don't think so. Anyway, in the process it
>>revealed a serious problem that is not our fault.
>>
>>In XrdClientPhyConnection.cc the method BuildMessage has the call (at
>>approx. line 402)
>>
>> m->ReadRaw(this);
>>
>>ReadRaw returns an error code (throwing an exception might have been
>>better) if there was a socket error of some sort. This error is not
>>checked for and so it loops in(de)finitely, printing error messages in
>>the logs, but not actually dying or trying to reconnect, or anything
>>user friendly.
>>
>>I will get back to you about the problem of the disconnects if I figure
>>out why they are happening.
>>
>>(Does anybody read Henry Spencer's "The 10 Commandments of C
>>Programming" anymore? Yea! Verily!!)
>>
>
>
>
>
> -------------------------------------------------------------------------
> Peter Elmer E-mail: [log in to unmask] Phone: +41 (22) 767-4644
> Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland
> -------------------------------------------------------------------------
|