diff options
Diffstat (limited to 'src/harness_adapter.c')
-rw-r--r-- | src/harness_adapter.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/harness_adapter.c b/src/harness_adapter.c index 8663b6a..3834a2c 100644 --- a/src/harness_adapter.c +++ b/src/harness_adapter.c @@ -5,6 +5,8 @@ #include "HsFFI.h" #include "plugin_interface.h" +#include <stdio.h> +#include <stdlib.h> #include <unistd.h> const char *plugin_name = "Wetterhorn"; @@ -20,7 +22,7 @@ extern void performMajorGC(); void plugin_metaload(int argc, char** argv) { - hs_init(&argc, &argv); + // hs_init(&argc, &argv); } void plugin_load(int argc, char **argv, foreign_interface_t* fintf) { @@ -34,7 +36,7 @@ void plugin_teardown(opqst_t st) { // // Used primarily in the case where the RTS is kept alive when performing a // hot-reload. - performMajorGC(); + // performMajorGC(); hs_exit(); // There's a race condition between when this shared library is unloaded and @@ -43,6 +45,13 @@ void plugin_teardown(opqst_t st) { sleep(1); } +void shell_exec(const char* cmd) { + if (fork() == 0) { + execl("/bin/sh", "/bin/sh", "-c", cmd, NULL); + exit(1); + } +} + static const char msg[] = "Wetterhorn Plugin v 0.01\n\n" "Welcome, and thank you for your interest.\n\n" |