client library's Manager::createDownload is blocking and only sends a signal on success
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-download-manager |
Fix Released
|
High
|
Manuel de la Peña | ||
ubuntu-download-manager (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
- createDownload uses a blocking wait (which may not really be a problem)
- it doesn't send a signal on error so calling code has to check the return value to get errors
- it does send a signal on success, so calling code has to be careful not to handle success twice
Download* createDownload(
// blocking other method should be used
if (reply.isError()) {
auto err = new Error(reply.
return new Download(_conn, err);
} else {
auto path = reply.value();
auto down = new Download(_conn, _servicePath, path);
emit q->downloadCrea
return down;
}
}
Related branches
- Diego Sarmentero (community): Approve
- PS Jenkins bot: Approve (continuous-integration)
-
Diff: 226 lines (+78/-42)6 files modifiedubuntu-download-manager-client-tests/test_download.cpp (+5/-1)
ubuntu-download-manager-client-tests/test_download_watch.cpp (+6/-1)
ubuntu-download-manager-client-tests/test_manager.cpp (+33/-0)
ubuntu-download-manager-client-tests/test_manager.h (+2/-0)
ubuntu-download-manager-client/ubuntu/download_manager/manager.cpp (+26/-34)
ubuntu-download-manager-client/ubuntu/download_manager/manager.h (+6/-6)
Changed in ubuntu-download-manager: | |
milestone: | none → 0.4 |
Changed in ubuntu-download-manager: | |
status: | Fix Committed → Fix Released |
Fix committed into lp:ubuntu-download-manager at revision None, scheduled for release in ubuntu- download- manager, milestone 0.4