[QFJ-231] During the logou process, sometimes in the initiator side's log file there is an unsend logon message. Created: 28/Aug/07  Updated: 11/Feb/09  Resolved: 02/Sep/07

Status: Closed
Project: QuickFIX/J
Component/s: Engine
Affects Version/s: 1.2.1
Fix Version/s: 1.3.0

Type: Bug Priority: Major
Reporter: Mike Gu Assignee: Steve Bate
Resolution: Fixed Votes: 0
Labels: None
Environment:

windows 2000 professional. eclipse3.2


Issue Links:
Relates
is related to QFJ-218 Session time not checked while sessio... Closed

 Description   

Recently, I notice that during the logou process there is a strage behaveior: sometimes in the initiator side's log file there is an unsend logon message. I think the cause is: when the initiator receive an logout from acceptor, it will call disconnect method. In the disconnect method, it will setResponder(null), then set sessionstate as the initial state and it ends. Between it sets sessionstate as the initial state and it ends. Another thread session timer thread happenedly executes at
if (!state.isLogonReceived()) {
if (state.isLogonSendNeeded())
then, it will send a logon message, but it will not succeed because the Iosession has been closed.
My solution is if (!state.isLogonReceived()&&hasResponder()) {
if (state.isLogonSendNeeded()) {


Generated at Sat Apr 20 12:03:54 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.