#include "Guile.hxx"
#include "Config.hxx"
+#include "core/Settings.hxx"
namespace {
SCM handler (void*, SCM tag, SCM throw_args) {
GuileInterpreter::GuileInterpreter()
: logger(log4cxx::Logger::getLogger("bindings.Guile")) {
+
+ QString socketpath = Settings::get()->getRuntimeDirectory()->canonicalPath()
+ + "/frida." + QString::number(QCoreApplication::applicationPid(), 16) + ".geiser.sock";
+
scm_init_guile();
+ SCM scm_socketpath = scm_from_locale_string(socketpath.toStdString().c_str());
scm_c_use_module("system repl server");
- scm_call_0(scm_c_public_ref("system repl server", "spawn-server"));
+ SCM socket = scm_call_2(scm_c_public_ref("system repl server", "make-unix-domain-server-socket"),
+ scm_from_locale_keyword("path"), scm_socketpath);
+ scm_call_1(scm_c_public_ref("system repl server", "spawn-server"), socket);
scm_c_load_extension("libguile-frida-binding",
"scm_init_frida_module");