assert (NULL != perl_threads);
PERL_SET_CONTEXT (aTHX);
+ /* Mark as running to avoid deadlock:
+ c_ithread_destroy -> log_debug -> perl_log()
+ */
+ ithread->running = 1;
log_debug ("Shutting down Perl interpreter %p...", aTHX);
#if COLLECT_DEBUG
static void _plugin_unregister_generic (pTHX,
perl_unregister_function_t *unreg, const char *desc)
{
- char cb_name[DATA_MAX_NAME_LEN];
-
dXSARGS;
if (1 != items) {
log_debug ("Collectd::plugin_unregister_%s: plugin = \"%s\"",
desc, SvPV_nolen (ST (0)));
- ssnprintf (cb_name, sizeof (cb_name), "perl/%s", SvPV_nolen (ST (0)));
-
- unreg(cb_name);
+ unreg(SvPV_nolen (ST (0)));
XSRETURN_EMPTY;
pthread_kill (thr->pthread, SIGTERM);
ERROR ("perl shutdown: Thread hangs inside Perl. Thread killed.");
}
- /* Mark as running to avoid deadlock:
- c_ithread_destroy -> log_debug -> perl_log()
- */
- thr->running = 1;
c_ithread_destroy (thr);
}