Accepting request 561303 from home:NMoreyChaisemartin:branches:science:HPC

- Add srp_daemon-Don-t-create-async_ev_thread-if-only-run-once.patch
  to fix bad exit code of ibsrpdm (bsc#1074390)

OBS-URL: https://build.opensuse.org/request/show/561303
OBS-URL: https://build.opensuse.org/package/show/science:HPC/rdma-core?expand=0&rev=70
This commit is contained in:
Nicolas Morey-Chaisemartin 2018-01-03 10:29:15 +00:00 committed by Git OBS Bridge
parent 5d8ed532f3
commit 5e19c671b9
3 changed files with 49 additions and 1 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Jan 3 09:17:10 UTC 2018 - nmoreychaisemartin@suse.com
- Add srp_daemon-Don-t-create-async_ev_thread-if-only-run-once.patch
to fix bad exit code of ibsrpdm (bsc#1074390)
-------------------------------------------------------------------
Fri Dec 15 08:28:17 UTC 2017 - nmoreychaisemartin@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package rdma-core
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -52,6 +52,7 @@ Source: rdma-core-%{version}%{git_ver}.tar.gz
Source1: baselibs.conf
Patch1: srp_daemon-handle-SM-lid-change.patch
Patch2: srp_daemon-fix-CQ-handling.patch
Patch3: srp_daemon-Don-t-create-async_ev_thread-if-only-run-once.patch
BuildRequires: binutils
BuildRequires: cmake >= 2.8.11
BuildRequires: gcc
@ -329,6 +330,7 @@ on those changes.
%setup -q -n %{name}-%{version}%{git_ver}
%patch1
%patch2
%patch3
%build

View File

@ -0,0 +1,40 @@
commit b1a51eeee28c14dbba332cf59a0e85a182374ed6
Author: Honggang Li <honli@redhat.com>
Date: Wed Dec 20 03:09:58 2017 +0800
srp_daemon: Don't create async_ev_thread if only run once
fd3005f0cd34 moves the signal handler setup from ibsrpdm path. So,
default signal handler will be used when the main pthread send signal
SIGINT to pthread async_ev_thread. ibsrpdm will exit with non-zero
exit code as default signal handler killed it. ibsrpdm should return
with exit code zero, if no error emerged.
We should not create async_ev_thread for ibsrpdm.
Fixes: fd3005f0cd34 ("srp_daemon: Move the setup of the wakeup_pipe after openlog")
Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com>
Signed-off-by: Honggang Li <honli@redhat.com>
diff --git srp_daemon/srp_daemon.c srp_daemon/srp_daemon.c
index 36df5c3bfe79..a7e7807774c5 100644
--- srp_daemon/srp_daemon.c
+++ srp_daemon/srp_daemon.c
@@ -1945,12 +1945,12 @@ static struct resources *alloc_res(void)
run_thread_get_trap_notices, &res->res);
if (ret)
goto err;
- }
- ret = pthread_create(&res->res.async_ev_thread, NULL,
- run_thread_listen_to_events, &res->res);
- if (ret)
- goto err;
+ ret = pthread_create(&res->res.async_ev_thread, NULL,
+ run_thread_listen_to_events, &res->res);
+ if (ret)
+ goto err;
+ }
if (config->retry_timeout && !config->once) {
ret = pthread_create(&res->res.reconnect_thread, NULL,