( cvs diff -u -r 1.9.2.59 -r 1.9.2.60 src/common/ssl.c; ) > 3.9.0cvs41.patchset
( cvs diff -u -r 1.10.2.44 -r 1.10.2.45 src/prefs_gtk.c; ) > 3.9.0cvs42.patchset
( cvs diff -u -r 1.30.2.33 -r 1.30.2.34 tools/README; cvs diff -u -r 1.1 -r 1.2 tools/gif2xface.pl; cvs diff -u -r 1.1.2.4 -r 1.1.2.5 tools/outlook2claws-mail.pl; ) > 3.9.0cvs43.patchset
+( cvs diff -u -r 1.101.2.75 -r 1.101.2.76 src/news.c; ) > 3.9.0cvs44.patchset
if (session->state != SESSION_READY || news_folder_locked(news_session->folder))
return FALSE;
+ news_folder_lock(NEWS_FOLDER(news_session->folder));
+
if ((r = nntp_threaded_date(news_session->folder, <)) != NEWSNNTP_NO_ERROR) {
if (r != NEWSNNTP_ERROR_COMMAND_NOT_SUPPORTED &&
r != NEWSNNTP_ERROR_COMMAND_NOT_UNDERSTOOD) {
news_session->folder->account->set_nntpport ?
news_session->folder->account->nntpport : NNTP_PORT);
REMOTE_FOLDER(news_session->folder)->session = NULL;
+ news_folder_unlock(NEWS_FOLDER(news_session->folder));
+ session->state = SESSION_DISCONNECTED;
+ session->sock = NULL;
session_destroy(session);
return FALSE;
}
}
+
+ news_folder_unlock(NEWS_FOLDER(news_session->folder));
session_set_access_time(session);
return TRUE;
}
session->folder = folder;
- session_register_ping(SESSION(session), nntp_ping);
return SESSION(session);
}
if (!rfolder->session) {
rfolder->session = news_session_new_for_folder(folder);
+ session_register_ping(SESSION(rfolder->session), nntp_ping);
return NEWS_SESSION(rfolder->session);
}
if (rfolder->session->port != folder->account->nntpport) {
session_destroy(rfolder->session);
rfolder->session = news_session_new_for_folder(folder);
+ session_register_ping(SESSION(rfolder->session), nntp_ping);
goto newsession;
}
return NEWS_SESSION(rfolder->session);
}
- if (!nntp_ping(rfolder->session))
+ if (!nntp_ping(rfolder->session)) {
rfolder->session = news_session_new_for_folder(folder);
+ session_register_ping(SESSION(rfolder->session), nntp_ping);
+ }
newsession:
if (rfolder->session)