Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15:Update
xrootd
xrootd-gcc6-fix.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File xrootd-gcc6-fix.patch of Package xrootd
From 96dcf7b6a2a4ec79716c36dd61f458448d52b29f Mon Sep 17 00:00:00 2001 From: Mattias Ellert <mattias.ellert@fysast.uu.se> Date: Sun, 14 Feb 2016 00:11:58 +0100 Subject: [PATCH 1/2] Don't throw exceptions in destructors --- src/XrdSys/XrdSysPthread.hh | 18 +++++++++--------- src/XrdSys/XrdSysXSLock.cc | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh index 5132530..57b9d09 100644 --- a/src/XrdSys/XrdSysPthread.hh +++ b/src/XrdSys/XrdSysPthread.hh @@ -119,9 +119,9 @@ inline void UnLock() {if (cnd) {cnd->UnLock(); cnd = 0;}} {if (CndVar) CndVar->Lock(); cnd = CndVar; } - XrdSysCondVarHelper(XrdSysCondVar &CndVar) { - CndVar.Lock(); - cnd = &CndVar; + XrdSysCondVarHelper(XrdSysCondVar &CndVar) + {CndVar.Lock(); + cnd = &CndVar; } ~XrdSysCondVarHelper() {if (cnd) UnLock();} @@ -204,9 +204,9 @@ inline void UnLock() {if (mtx) {mtx->UnLock(); mtx = 0;}} {if (mutex) mutex->Lock(); mtx = mutex; } - XrdSysMutexHelper(XrdSysMutex &mutex) { - mutex.Lock(); - mtx = &mutex; + XrdSysMutexHelper(XrdSysMutex &mutex) + {mutex.Lock(); + mtx = &mutex; } ~XrdSysMutexHelper() {if (mtx) UnLock();} @@ -350,11 +350,11 @@ inline void Wait() {while (sem_wait(&h_semaphore)) XrdSysSemaphore(int semval=1, const char * =0) {if (sem_init(&h_semaphore, 0, semval)) - {throw "sem_init() failed";} + {throw "sem_init() failed";} } ~XrdSysSemaphore() {if (sem_destroy(&h_semaphore)) - {throw "sem_destroy() failed";} - } + {/* throw "sem_destroy() failed"; */} + } private: diff --git a/src/XrdSys/XrdSysXSLock.cc b/src/XrdSys/XrdSysXSLock.cc index 3a4df53..5260c36 100644 --- a/src/XrdSys/XrdSysXSLock.cc +++ b/src/XrdSys/XrdSysXSLock.cc @@ -43,7 +43,7 @@ XrdSysXSLock::~XrdSysXSLock() LockContext.Lock(); if (cur_count || shr_wait || exc_wait) {LockContext.UnLock(); - throw "XSLock_delete: Lock object is still active."; + /* throw "XSLock_delete: Lock object is still active."; */ } LockContext.UnLock(); } From e7e400c5f4f09df1ad36884c34ae0f350d1c5be2 Mon Sep 17 00:00:00 2001 From: Mattias Ellert <mattias.ellert@fysast.uu.se> Date: Sun, 14 Feb 2016 08:11:29 +0100 Subject: [PATCH 2/2] Call abort() instead --- src/XrdSys/XrdSysPthread.hh | 2 +- src/XrdSys/XrdSysXSLock.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/XrdSys/XrdSysPthread.hh b/src/XrdSys/XrdSysPthread.hh index 57b9d09..22a81d6 100644 --- a/src/XrdSys/XrdSysPthread.hh +++ b/src/XrdSys/XrdSysPthread.hh @@ -353,7 +353,7 @@ inline void Wait() {while (sem_wait(&h_semaphore)) {throw "sem_init() failed";} } ~XrdSysSemaphore() {if (sem_destroy(&h_semaphore)) - {/* throw "sem_destroy() failed"; */} + {abort();} } private: diff --git a/src/XrdSys/XrdSysXSLock.cc b/src/XrdSys/XrdSysXSLock.cc index 5260c36..e8d0bc0 100644 --- a/src/XrdSys/XrdSysXSLock.cc +++ b/src/XrdSys/XrdSysXSLock.cc @@ -43,7 +43,7 @@ XrdSysXSLock::~XrdSysXSLock() LockContext.Lock(); if (cur_count || shr_wait || exc_wait) {LockContext.UnLock(); - /* throw "XSLock_delete: Lock object is still active."; */ + abort(); } LockContext.UnLock(); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor