Ticket #6336 (closed: fixed)
Live Listener background thread doesn't always exit cleanly
Reported by: | Ross Miller | Owned by: | Ross Miller |
---|---|---|---|
Priority: | major | Milestone: | Release 2.4 |
Component: | Mantid | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Russell Taylor |
Description
Given the right conditions - specifically if there's still data coming in from the SMS - the background thread will not shut down.
Change History
comment:3 Changed 8 years ago by Ross Miller
- Status changed from accepted to verify
- Resolution set to fixed
comment:4 Changed 8 years ago by Ross Miller
Ensure Parser::read() will always return if a timeout is specified
If the user specifies a timeout value for the Poco StreamSocket, the read function will keep track of the elapsed time and break out of its while loop if the timeout value has been exceeded.
Refs #6336
Changeset: f9b5515613eb6899fb3d2028cd1536fbc324cd03
comment:5 Changed 8 years ago by Alex Buts
- Status changed from verify to verifying
- Tester set to Alex Buts
comment:6 Changed 8 years ago by Alex Buts
- Status changed from verifying to verify
- Tester Alex Buts deleted
There are no unit test for this code and though the changes look reasonable I can not be sure they are correct.
Why it is difficult to build a unit test? A socket and thread synchronization crawl for tests.
comment:7 Changed 8 years ago by Russell Taylor
- Status changed from verify to verifying
- Tester set to Russell Taylor
Ensure Parser::read() will always return if a timeout is specified
If the user specifies a timeout value for the Poco StreamSocket, the read function will keep track of the elapsed time and break out of its while loop if the timeout value has been exceeded.
Refs #6336