Accelio hangs for more than 2 hours when closing a connection, that has been closed by the peer already.
Bug #1328330 reported by
Dmitry Kiselev
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Accelio |
Invalid
|
High
|
Unassigned |
Bug Description
The general expectation (correct me, if not, please) is that if the xio_disconnect is called twice, there is no hang and the second call just returns with an error (or even without).
If that's not the case, then we have to maintain a more complex state machine duplicating the Accelio states on the caller's side.
That is specifically important for a synchronous usage pattern, where the event loops are not spinned permanently and we have to save the statuses.
On a side note, if I call xio_connection_
All that is on a Linux platform.
Best regards,
Dmitry
description: | updated |
Changed in accelio: | |
importance: | Undecided → High |
To post a comment you must log in.
Dmitry,
few observations: destroy is not allowed, since connection is destroyed by this function, and calling this function again with freed (but not NULL) pointer will result in crash
1. calling xio_disconnect can be called more then one time. since calling disconnect change the state of the connection,
calling it again should return immediately, and this is safe to do.
2. calling xio_connection_
I haven`t succeed in reproducing this bug. if you can send a clear flow that would be very helpful