diff options
| -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); } |