From d5d8526cfa80b17bd2562fda06614659fc42a20a Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Sun, 11 Feb 2024 18:08:25 -0700 Subject: Little test to make sure unloading the plugin still works --- harness/src/main.c | 9 ++++++++- harness/src/plugin.c | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/harness/src/main.c b/harness/src/main.c index 648473f..2e22b36 100644 --- a/harness/src/main.c +++ b/harness/src/main.c @@ -46,7 +46,14 @@ void run_plugin(int argc, char **argv, plugin_t *plugin) { uint32_t sz; - plugin_hot_reload(argc, argv, plugin->library_handle, plugin); + void* new_handle = dlopen(argv[2], RTLD_LAZY); + printf("old plugin init: %p\n", plugin->plugin_name); + if (new_handle) { + plugin_hot_reload(argc, argv, new_handle, plugin); + printf("new plugin init: %p\n", plugin->plugin_name); + } else { + fprintf(stderr, "Unable to open new library: %s\n", dlerror()); + } return; } diff --git a/harness/src/plugin.c b/harness/src/plugin.c index 9b71c49..941cc01 100644 --- a/harness/src/plugin.c +++ b/harness/src/plugin.c @@ -67,6 +67,7 @@ int plugin_hot_reload(int argc, char **argv, dlhandle_t library, shx(marshalled_state, sz); if (library != plugin->library_handle) { + printf("Unloading old library handle.\n"); dlclose(plugin->library_handle); } -- cgit