aboutsummaryrefslogtreecommitdiff
path: root/src/harness_adapter.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/harness_adapter.c')
-rw-r--r--src/harness_adapter.c13
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"