diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-02-11 18:08:25 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-02-11 18:08:25 -0700 |
commit | d5d8526cfa80b17bd2562fda06614659fc42a20a (patch) | |
tree | 6e47e4f0f06d8d871bde21c9a7c6c312a5519c72 | |
parent | 3cbc5823a9ab63337f144395eefea5ff18eee416 (diff) | |
download | wetterhorn-d5d8526cfa80b17bd2562fda06614659fc42a20a.tar.gz wetterhorn-d5d8526cfa80b17bd2562fda06614659fc42a20a.tar.bz2 wetterhorn-d5d8526cfa80b17bd2562fda06614659fc42a20a.zip |
Little test to make sure unloading the plugin still works
-rw-r--r-- | harness/src/main.c | 9 | ||||
-rw-r--r-- | harness/src/plugin.c | 1 |
2 files changed, 9 insertions, 1 deletions
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); } |