Resolves: RHEL-24829 (Release queue lock as soon as possible in ews_next_request())

This commit is contained in:
Milan Crha 2024-02-08 11:36:06 +01:00
parent db8b08198a
commit bc44c52ad9
2 changed files with 34 additions and 1 deletions

View File

@ -0,0 +1,28 @@
diff -up evolution-ews-3.28.5/src/server/e-ews-connection.c.deadlock evolution-ews-3.28.5/src/server/e-ews-connection.c
--- evolution-ews-3.28.5/src/server/e-ews-connection.c.deadlock 2024-02-06 15:56:24.994038118 +0100
+++ evolution-ews-3.28.5/src/server/e-ews-connection.c 2024-02-06 15:57:45.656178096 +0100
@@ -698,22 +698,20 @@ ews_next_request (gpointer _cnc)
/* Add to active job queue */
cnc->priv->active_job_queue = g_slist_append (cnc->priv->active_job_queue, node);
+ QUEUE_UNLOCK (cnc);
+
if (cnc->priv->soup_session) {
SoupMessage *msg = SOUP_MESSAGE (node->msg);
if (!e_ews_connection_utils_prepare_message (cnc, msg, node->cancellable)) {
e_ews_debug_dump_raw_soup_request (msg);
- QUEUE_UNLOCK (cnc);
ews_response_cb (cnc->priv->soup_session, msg, node);
} else {
e_ews_debug_dump_raw_soup_request (msg);
soup_session_queue_message (cnc->priv->soup_session, msg, ews_response_cb, node);
- QUEUE_UNLOCK (cnc);
}
} else {
- QUEUE_UNLOCK (cnc);
-
ews_cancel_request (NULL, node);
}

View File

@ -2,7 +2,7 @@
Name: evolution-ews
Version: 3.28.5
Release: 14%{?dist}
Release: 15%{?dist}
Group: Applications/Productivity
Summary: Evolution extension for Exchange Web Services
License: LGPLv2
@ -53,6 +53,7 @@ Patch13: evolution-ews-3.28.5-cmake-variable-name-comparison.patch
Patch14: evolution-ews-3.28.5-autodiscover-improvements.patch
Patch15: 0001-I-250-Mail-Calendar-attachments-can-be-broken-by-the.patch
Patch16: 0002-deadlock-on-op-cancel.patch
Requires: evolution >= %{eds_evo_version}
Requires: evolution-data-server >= %{eds_evo_version}
@ -108,6 +109,7 @@ This package contains translations for %{name}.
%patch13 -p1 -b .cmake-variable-name-comparison
%patch14 -p1 -b .autodiscover-improvements
%patch15 -p1 -b .workaround-office365.com-bug
%patch16 -p1 -b .deadlock-on-cancel
%build
@ -148,6 +150,9 @@ make install DESTDIR=$RPM_BUILD_ROOT
%files langpacks -f _build/%{name}.lang
%changelog
* Thu Feb 08 2024 Milan Crha <mcrha@redhat.com> - 3.28.5-15
- Resolves: RHEL-24829 (Release queue lock as soon as possible in ews_next_request())
* Wed Dec 13 2023 Milan Crha <mcrha@redhat.com> - 3.28.5-14
- Resolves: RHEL-19376 (Backport upstream patch to workaround broken text/calendar mail attachments by the server)