c_ithread_t *head;
c_ithread_t *tail;
+#if COLLECT_DEBUG
+ /* some usage stats */
+ int number_of_threads;
+#endif /* COLLECT_DEBUG */
+
pthread_mutex_t mutex;
} c_ithread_list_t;
? NULL
: perl_clone (base, CLONEf_KEEP_PTR_TABLE);
+#if COLLECT_DEBUG
+ ++perl_threads->number_of_threads;
+#endif /* COLLECT_DEBUG */
+
t->next = NULL;
if (NULL == perl_threads->tail) {
aTHX = t->interp;
}
+
+ log_debug ("perl_init: c_ithread: interp = %p (active threads: %i)\n",
+ aTHX, perl_threads->number_of_threads);
return pplugin_call_all (aTHX_ PLUGIN_INIT);
} /* static int perl_init (void) */
aTHX = t->interp;
}
+
+ log_debug ("perl_read: c_ithread: interp = %p (active threads: %i)\n",
+ aTHX, perl_threads->number_of_threads);
return pplugin_call_all (aTHX_ PLUGIN_READ);
} /* static int perl_read (void) */
aTHX = t->interp;
}
+
+ log_debug ("perl_write: c_ithread: interp = %p (active threads: %i)\n",
+ aTHX, perl_threads->number_of_threads);
return pplugin_call_all (aTHX_ PLUGIN_WRITE, ds, vl);
} /* static int perl_write (const data_set_t *, const value_list_t *) */
aTHX = t->interp;
}
+ log_debug ("perl_shutdown: c_ithread: interp = %p (active threads: %i)\n",
+ aTHX, perl_threads->number_of_threads);
+
plugin_unregister_log ("perl");
plugin_unregister_init ("perl");
plugin_unregister_read ("perl");