Blame 0002-Make-sure-that-agent_onload-and-agent_onunload-are-p.patch
|
Jakub Filak |
51d3b9 |
From 71ac5da86488ace3ebb3f3fa4adc747a511634e2 Mon Sep 17 00:00:00 2001
|
|
Jakub Filak |
51d3b9 |
From: Pavel Tisnovsky <ptisnovs@dhcp-lab-190.englab.brq.redhat.com>
|
|
Jakub Filak |
51d3b9 |
Date: Mon, 3 Feb 2014 18:00:35 +0100
|
|
Jakub Filak |
51d3b9 |
Subject: [PATCH 2/2] Make sure that agent_onload and agent_onunload are
|
|
Jakub Filak |
51d3b9 |
processed only once.
|
|
Jakub Filak |
51d3b9 |
|
|
Jakub Filak |
51d3b9 |
---
|
|
Jakub Filak |
51d3b9 |
src/abrt-checker.c | 16 ++++++++++++++++
|
|
Jakub Filak |
51d3b9 |
1 file changed, 16 insertions(+)
|
|
Jakub Filak |
51d3b9 |
|
|
Jakub Filak |
51d3b9 |
diff --git a/src/abrt-checker.c b/src/abrt-checker.c
|
|
Jakub Filak |
51d3b9 |
index 713053c..f142d7e 100644
|
|
Jakub Filak |
51d3b9 |
--- a/src/abrt-checker.c
|
|
Jakub Filak |
51d3b9 |
+++ b/src/abrt-checker.c
|
|
Jakub Filak |
51d3b9 |
@@ -2923,10 +2923,17 @@ JNIEXPORT jint JNICALL Agent_OnLoad(
|
|
Jakub Filak |
51d3b9 |
char *options,
|
|
Jakub Filak |
51d3b9 |
void *reserved __UNUSED_VAR)
|
|
Jakub Filak |
51d3b9 |
{
|
|
Jakub Filak |
51d3b9 |
+ static int already_called = 0;
|
|
Jakub Filak |
51d3b9 |
jvmtiEnv *jvmti_env = NULL;
|
|
Jakub Filak |
51d3b9 |
jvmtiError error_code = JVMTI_ERROR_NONE;
|
|
Jakub Filak |
51d3b9 |
jint result;
|
|
Jakub Filak |
51d3b9 |
|
|
Jakub Filak |
51d3b9 |
+ /* we need to make sure the agent is initialized once */
|
|
Jakub Filak |
51d3b9 |
+ if (already_called) {
|
|
Jakub Filak |
51d3b9 |
+ return;
|
|
Jakub Filak |
51d3b9 |
+ }
|
|
Jakub Filak |
51d3b9 |
+
|
|
Jakub Filak |
51d3b9 |
+ already_called = 1;
|
|
Jakub Filak |
51d3b9 |
pthread_mutex_init(&abrt_print_mutex, /*attr*/NULL);
|
|
Jakub Filak |
51d3b9 |
|
|
Jakub Filak |
51d3b9 |
INFO_PRINT("Agent_OnLoad\n");
|
|
Jakub Filak |
51d3b9 |
@@ -3001,6 +3008,15 @@ JNIEXPORT jint JNICALL Agent_OnLoad(
|
|
Jakub Filak |
51d3b9 |
*/
|
|
Jakub Filak |
51d3b9 |
JNIEXPORT void JNICALL Agent_OnUnload(JavaVM *vm __UNUSED_VAR)
|
|
Jakub Filak |
51d3b9 |
{
|
|
Jakub Filak |
51d3b9 |
+ static int already_called = 0;
|
|
Jakub Filak |
51d3b9 |
+
|
|
Jakub Filak |
51d3b9 |
+ /* we need to make sure the agent is initialized once */
|
|
Jakub Filak |
51d3b9 |
+ if (already_called) {
|
|
Jakub Filak |
51d3b9 |
+ return;
|
|
Jakub Filak |
51d3b9 |
+ }
|
|
Jakub Filak |
51d3b9 |
+
|
|
Jakub Filak |
51d3b9 |
+ already_called = 1;
|
|
Jakub Filak |
51d3b9 |
+
|
|
Jakub Filak |
51d3b9 |
pthread_mutex_destroy(&abrt_print_mutex);
|
|
Jakub Filak |
51d3b9 |
|
|
Jakub Filak |
51d3b9 |
INFO_PRINT("Agent_OnUnLoad\n");
|
|
Jakub Filak |
51d3b9 |
--
|
|
Jakub Filak |
51d3b9 |
1.8.3.1
|
|
Jakub Filak |
51d3b9 |
|