From 589d37d6aa2078cb7247d9739de5c23debad9913 Mon Sep 17 00:00:00 2001 From: Sebastian Harl Date: Wed, 14 Nov 2007 14:19:42 +0100 Subject: [PATCH] perl plugin: Added debugging output to display the ithread behavior. Signed-off-by: Sebastian Harl Signed-off-by: Florian Forster --- src/perl.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/perl.c b/src/perl.c index 889ab561..fbbe591d 100644 --- a/src/perl.c +++ b/src/perl.c @@ -91,6 +91,11 @@ typedef struct { 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; @@ -749,6 +754,10 @@ static c_ithread_t *c_ithread_create (PerlInterpreter *base) ? 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) { @@ -784,6 +793,9 @@ static int perl_init (void) 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) */ @@ -803,6 +815,9 @@ static int perl_read (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) */ @@ -822,6 +837,9 @@ static int perl_write (const data_set_t *ds, const value_list_t *vl) 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 *) */ @@ -869,6 +887,9 @@ static int perl_shutdown (void) 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"); -- 2.11.0