projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
perl plugin: Fixed the "EnableDebugger after LoadPlugin" warning.
[collectd.git]
/
src
/
perl.c
diff --git
a/src/perl.c
b/src/perl.c
index
3c50528
..
d17551e
100644
(file)
--- a/
src/perl.c
+++ b/
src/perl.c
@@
-700,11
+700,19
@@
static int pplugin_call_all (pTHX_ int type, ...)
ds = va_arg (ap, data_set_t *);
vl = va_arg (ap, value_list_t *);
ds = va_arg (ap, data_set_t *);
vl = va_arg (ap, value_list_t *);
- if (-1 == data_set2av (aTHX_ ds, pds))
- return -1;
+ if (-1 == data_set2av (aTHX_ ds, pds)) {
+ av_clear (pds);
+ av_undef (pds);
+ pds = Nullav;
+ ret = -1;
+ }
- if (-1 == value_list2hv (aTHX_ vl, ds, pvl))
- return -1;
+ if (-1 == value_list2hv (aTHX_ vl, ds, pvl)) {
+ hv_clear (pvl);
+ hv_undef (pvl);
+ pvl = Nullhv;
+ ret = -1;
+ }
XPUSHs (sv_2mortal (newSVpv (ds->type, 0)));
XPUSHs (sv_2mortal (newRV_noinc ((SV *)pds)));
XPUSHs (sv_2mortal (newSVpv (ds->type, 0)));
XPUSHs (sv_2mortal (newRV_noinc ((SV *)pds)));
@@
-738,8
+746,12
@@
static int pplugin_call_all (pTHX_ int type, ...)
n = va_arg (ap, notification_t *);
n = va_arg (ap, notification_t *);
- if (-1 == notification2hv (aTHX_ n, notif))
- return -1;
+ if (-1 == notification2hv (aTHX_ n, notif)) {
+ hv_clear (notif);
+ hv_undef (notif);
+ notif = Nullhv;
+ ret = -1;
+ }
XPUSHs (sv_2mortal (newRV_noinc ((SV *)notif)));
}
XPUSHs (sv_2mortal (newRV_noinc ((SV *)notif)));
}
@@
-1466,6
+1478,11
@@
static int perl_config_enabledebugger (pTHX_ oconfig_item_t *ci)
return 1;
}
return 1;
}
+ if (NULL != perl_threads) {
+ log_warn ("EnableDebugger has no effects if used after LoadPlugin.");
+ return 1;
+ }
+
value = ci->values[0].value.string;
perl_argv = (char **)realloc (perl_argv,
value = ci->values[0].value.string;
perl_argv = (char **)realloc (perl_argv,