Lagrange [release]
Feeds: Wait up to 10 seconds for response
[1mdiff --git a/src/feeds.c b/src/feeds.c[m
[1mindex c54ac945..3fb05d14 100644[m
[1m--- a/src/feeds.c[m
[1m+++ b/src/feeds.c[m
[36m@@ -75,6 +75,8 @@[m [miBool isUnread_FeedEntry(const iFeedEntry *d) {[m
[m
/*----------------------------------------------------------------------------------------------*/[m
[m
[32m+[m[32mstatic int requestTimeoutSeconds_FeedJob_ = 10.0f;[m
[32m+[m
struct Impl_FeedJob {[m
iString url;[m
uint32_t bookmarkId;[m
[36m@@ -104,6 +106,10 @@[m [mstatic void deinit_FeedJob(iFeedJob *d) {[m
deinit_String(&d->url);[m
}[m
[m
[32m+[m[32mstatic iBool isTimedOut_FeedJob_(iFeedJob *d) {[m
[32m+[m[32m return elapsedSeconds_Time(&d->startTime) > requestTimeoutSeconds_FeedJob_;[m
[32m+[m[32m}[m
[32m+[m
iDefineTypeConstructionArgs(FeedJob, (const iBookmark *bm), bm)[m
[m
/*----------------------------------------------------------------------------------------------*/[m
[36m@@ -357,6 +363,11 @@[m [mstatic iThreadResult fetch_Feeds_(iThread *thread) {[m
delete_FeedJob(work[i]);[m
work[i] = NULL;[m
}[m
[32m+[m[32m else if (isTimedOut_FeedJob_(work[i])) {[m
[32m+[m[32m /* Maybe we'll get it next time! */[m
[32m+[m[32m delete_FeedJob(work[i]);[m
[32m+[m[32m work[i] = NULL;[m
[32m+[m[32m }[m
else {[m
ongoing++;[m
}[m