/*
Bacula® - The Network Backup Solution
- Copyright (C) 2005-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2005-2009 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Bacula® is a registered trademark of John Walker.
+ Bacula® is a registered trademark of Kern Sibbald.
The licensor of Bacula is the Free Software Foundation Europe
(FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
Switzerland, email:ftf@fsfeurope.org.
*/
void openssl_post_errors(int code, const char *errstring)
{
- openssl_post_errors(get_jcr_from_tid(), code, errstring);
+ openssl_post_errors(NULL, code, errstring);
}
while((sslerr = ERR_get_error()) != 0) {
/* Acquire the human readable string */
ERR_error_string_n(sslerr, buf, sizeof(buf));
- Dmsg3(100, "jcr=%p %s: ERR=%s\n", jcr, errstring, buf);
- Jmsg2(jcr, M_ERROR, 0, "%s: ERR=%s\n", errstring, buf);
+ Dmsg3(50, "jcr=%p %s: ERR=%s\n", jcr, errstring, buf);
+ Qmsg2(jcr, M_ERROR, 0, "%s: ERR=%s\n", errstring, buf);
}
}
*/
static unsigned long get_openssl_thread_id(void)
{
- /* Comparison without use of pthread_equal() is mandated by the OpenSSL API */
+#ifdef HAVE_WIN32
+ return (unsigned long)getpid();
+#else
/*
- * Note that this creates problems with the new Win32 pthreads
- * emulation code, which defines pthread_t as a structure. For
- * this reason, we continue to use a very old implementation.
+ * Comparison without use of pthread_equal() is mandated by the OpenSSL API
+ *
+ * Note: this creates problems with the new Win32 pthreads
+ * emulation code, which defines pthread_t as a structure.
*/
return ((unsigned long)pthread_self());
+#endif
}
/*
if ((stat = pthread_mutex_init(&dynlock->mutex, NULL)) != 0) {
berrno be;
- Jmsg1(get_jcr_from_tid(), M_ABORT, 0, _("Unable to init mutex: ERR=%s\n"),
- be.bstrerror(stat));
+ Jmsg1(NULL, M_ABORT, 0, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(stat));
}
return dynlock;
if ((stat = pthread_mutex_destroy(&dynlock->mutex)) != 0) {
berrno be;
- Jmsg1(get_jcr_from_tid(), M_ABORT, 0, _("Unable to destroy mutex: ERR=%s\n"),
- be.bstrerror(stat));
+ Jmsg1(NULL, M_ABORT, 0, _("Unable to destroy mutex: ERR=%s\n"), be.bstrerror(stat));
}
free(dynlock);
for (i = 0; i < numlocks; i++) {
if ((stat = pthread_mutex_init(&mutexes[i], NULL)) != 0) {
berrno be;
- Jmsg1(get_jcr_from_tid(), M_ERROR, 0, _("Unable to init mutex: ERR=%s\n"),
- be.bstrerror(stat));
+ Jmsg1(NULL, M_FATAL, 0, _("Unable to init mutex: ERR=%s\n"), be.bstrerror(stat));
return stat;
}
}
if ((stat = pthread_mutex_destroy(&mutexes[i])) != 0) {
berrno be;
/* We don't halt execution, reporting the error should be sufficient */
- Jmsg1(get_jcr_from_tid(), M_ERROR, 0, _("Unable to destroy mutex: ERR=%s\n"),
+ Jmsg1(NULL, M_ERROR, 0, _("Unable to destroy mutex: ERR=%s\n"),
be.bstrerror(stat));
}
}