On Thu, 2009-12-17 at 04:22 +0000, Chen, Congwu wrote:
>In none of these cases does the checkForAbort() quoted above have
any
>effect, as far as I can tell. Do you know in which case it is needed?
>
>Do we miss a check for abort directly after SessionStep and/or should
>the code above perhaps be moved there?
>
I think we might miss a check. I remember once I struggled between testing against
STEPCMD_SENDDATA or STEPCMD_SENTDATA and changed to SENDDATA at last.
Reviewing the code however doesn't give me the confidence any more. Probably testing
Against SENDDATA is more appropriate.
Agreed.
To be safe, I suggest let's test both.
See following commit:
1da586f3850dcf4e72dfba0e82cb75e3558cae20
With that patch, checking for abort now gets spread across the main loop
even more. I wonder whether we can move it completely into two places:
* before SessionStep() for the "received data" or "waiting for
data" case
* after SessionStep() for the "outgoing message ready" case
As I have to extend the abort handling for unexpected slow syncs, I'll
experiment with that a bit.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.