aboutsummaryrefslogtreecommitdiffstats
path: root/community/bareos/fix-bsmtp-segfault.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/bareos/fix-bsmtp-segfault.patch')
-rw-r--r--community/bareos/fix-bsmtp-segfault.patch40
1 files changed, 0 insertions, 40 deletions
diff --git a/community/bareos/fix-bsmtp-segfault.patch b/community/bareos/fix-bsmtp-segfault.patch
deleted file mode 100644
index 41c3a380da..0000000000
--- a/community/bareos/fix-bsmtp-segfault.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- old/core/src/lib/jcr.cc
-+++ new/core/src/lib/jcr.cc
-@@ -79,6 +79,7 @@
- static pthread_mutex_t job_start_mutex = PTHREAD_MUTEX_INITIALIZER;
- static pthread_mutex_t last_jobs_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-+static bool jcr_initialized = false;
- #ifdef HAVE_WIN32
- static bool tsd_initialized = false;
- static pthread_key_t jcr_key; /* Pointer to jcr for each thread */
-@@ -324,6 +325,8 @@
- if (status != 0) {
- BErrNo be;
- Jmsg1(nullptr, M_ABORT, 0, _("pthread key create failed: ERR=%s\n"), be.bstrerror(status));
-+ } else {
-+ jcr_initialized = true;
- }
- }
-
-@@ -681,7 +684,10 @@
- */
- JobControlRecord *get_jcr_from_tsd()
- {
-- JobControlRecord *jcr = (JobControlRecord *)pthread_getspecific(jcr_key);
-+ JobControlRecord *jcr = (JobControlRecord *)INVALID_JCR;
-+ if (jcr_initialized){
-+ jcr = (JobControlRecord *)pthread_getspecific(jcr_key);
-+ }
-
- /*
- * Set any INVALID_JCR to nullptr which the rest of BAREOS understands
-@@ -696,7 +702,7 @@
- */
- uint32_t GetJobidFromTsd()
- {
-- JobControlRecord *jcr = (JobControlRecord *)pthread_getspecific(jcr_key);
-+ JobControlRecord *jcr = get_jcr_from_tsd();
- uint32_t JobId = 0;
-
- if (jcr && jcr != INVALID_JCR) { JobId = (uint32_t)jcr->JobId; }