%define with_nut 0%{!?_without_nut:1}
%define with_olsrd 0%{!?_without_olsrd:1}
%define with_openvpn 0%{!?_without_openvpn:1}
-%define with_perl 0%{!?_without_perl:0%{?_has_perl_extutils_embed}}
+%define with_perl 0%{!?_without_perl:1}
%define with_pinba 0%{!?_without_pinba:1}
%define with_ping 0%{!?_without_ping:1}
%define with_postgresql 0%{!?_without_postgresql:1}
Group: System Environment/Daemons
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+%if 0%{?rhel} >= 6
BuildRequires: perl-ExtUtils-Embed
+%else
+BuildRequires: perl
+%endif
%description perl
The Perl plugin embeds a Perl interpreter into collectd and exposes the
application programming interface (API) to Perl-scripts.
- Enable cgroups, lvm and statsd plugins
- Enable (but don't build by default) mic, aquaero and sigrok plugins
-* Wed Aug 06 2014 Marc Fournier <marc.fournier@camptocamp.com> 5.3.1-2
-- Enabled modbus plugin
-
* Tue Aug 06 2013 Marc Fournier <marc.fournier@camptocamp.com> 5.3.1-1
- New upstream version
- Added RHEL5 support:
- Removed duplicate --enable-aggregation
- Added some comments & usage examples
- Replaced a couple of "Buildrequires" by "BuildRequires"
+- Enabled modbus plugin
+- Allow perl plugin to build on RHEL5
* Wed Apr 10 2013 Marc Fournier <marc.fournier@camptocamp.com> 5.3.0-1
- New upstream version
cjni_env->jvm_env = NULL;
return (0);
-} /* }}} JNIEnv *cjni_thread_attach */
+} /* }}} int cjni_thread_detach */
static int cjni_config_add_jvm_arg (oconfig_item_t *ci) /* {{{ */
{
{
JNIEnv *jvm_env;
cjni_callback_info_t *cbi;
- int status;
int ret_status;
if (jvm == NULL)
ret_status = (*jvm_env)->CallIntMethod (jvm_env, cbi->object,
cbi->method);
- status = cjni_thread_detach ();
- if (status != 0)
- {
- ERROR ("java plugin: cjni_read: cjni_thread_detach failed.");
- return (-1);
- }
-
+ cjni_thread_detach ();
return (ret_status);
} /* }}} int cjni_read */
JNIEnv *jvm_env;
cjni_callback_info_t *cbi;
jobject vl_java;
- int status;
int ret_status;
if (jvm == NULL)
if (vl_java == NULL)
{
ERROR ("java plugin: cjni_write: ctoj_value_list failed.");
+ cjni_thread_detach ();
return (-1);
}
(*jvm_env)->DeleteLocalRef (jvm_env, vl_java);
- status = cjni_thread_detach ();
- if (status != 0)
- {
- ERROR ("java plugin: cjni_write: cjni_thread_detach failed.");
- return (-1);
- }
-
+ cjni_thread_detach ();
return (ret_status);
} /* }}} int cjni_write */
cjni_callback_info_t *cbi;
jobject o_timeout;
jobject o_identifier;
- int status;
int ret_status;
if (jvm == NULL)
{
ERROR ("java plugin: cjni_flush: Converting double "
"to Number object failed.");
+ cjni_thread_detach ();
return (-1);
}
{
(*jvm_env)->DeleteLocalRef (jvm_env, o_timeout);
ERROR ("java plugin: cjni_flush: NewStringUTF failed.");
+ cjni_thread_detach ();
return (-1);
}
}
(*jvm_env)->DeleteLocalRef (jvm_env, o_identifier);
(*jvm_env)->DeleteLocalRef (jvm_env, o_timeout);
- status = cjni_thread_detach ();
- if (status != 0)
- {
- ERROR ("java plugin: cjni_flush: cjni_thread_detach failed.");
- return (-1);
- }
-
+ cjni_thread_detach ();
return (ret_status);
} /* }}} int cjni_flush */
o_message = (*jvm_env)->NewStringUTF (jvm_env, message);
if (o_message == NULL)
+ {
+ cjni_thread_detach ();
return;
+ }
(*jvm_env)->CallVoidMethod (jvm_env,
cbi->object, cbi->method, (jint) severity, o_message);
JNIEnv *jvm_env;
cjni_callback_info_t *cbi;
jobject o_notification;
- int status;
int ret_status;
if (jvm == NULL)
if (o_notification == NULL)
{
ERROR ("java plugin: cjni_notification: ctoj_notification failed.");
+ cjni_thread_detach ();
return (-1);
}
(*jvm_env)->DeleteLocalRef (jvm_env, o_notification);
- status = cjni_thread_detach ();
- if (status != 0)
- {
- ERROR ("java plugin: cjni_read: cjni_thread_detach failed.");
- return (-1);
- }
-
+ cjni_thread_detach ();
return (ret_status);
} /* }}} int cjni_notification */
(*jvm_env)->DeleteLocalRef (jvm_env, cbi_ret->object); \
} \
free (cbi_ret); \
- if (jvm_env != NULL) { \
- if (o_ci != NULL) \
- (*jvm_env)->DeleteLocalRef (jvm_env, o_ci); \
- cjni_thread_detach (); \
- } \
+ if (o_ci != NULL) \
+ (*jvm_env)->DeleteLocalRef (jvm_env, o_ci); \
+ cjni_thread_detach (); \
return (status)
if (jvm == NULL)
{
ERROR ("java plugin: cjni_read: jvm == NULL");
- BAIL_OUT (-1);
+ return (-1);
}
jvm_env = cjni_thread_attach ();
if (jvm_env == NULL)
- {
- BAIL_OUT (-1);
- }
+ return (-1);
/* Find out whether to create a match or a target. */
if (strcasecmp ("Match", ci->key) == 0)
}
} /* if (cbi->type == CB_TYPE_TARGET) */
- status = cjni_thread_detach ();
- if (status != 0)
- ERROR ("java plugin: cjni_read: cjni_thread_detach failed.");
-
+ cjni_thread_detach ();
return (ret_status);
} /* }}} int cjni_match_target_invoke */