X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fbindings%2FGuile.cxx;fp=src%2Fbindings%2FGuile.cxx;h=aa7ea526118c205f5278e632fef4d554d9e6b887;hp=18d12e95eef91b5edec0624b5797a68081678546;hb=3a4d56589efd125ddf252af617cca511fe806254;hpb=36d271e5ec9a1877323adfd496f4877359ad73d7 diff --git a/src/bindings/Guile.cxx b/src/bindings/Guile.cxx index 18d12e9..aa7ea52 100644 --- a/src/bindings/Guile.cxx +++ b/src/bindings/Guile.cxx @@ -15,7 +15,7 @@ GuileInterpreter::GuileInterpreter() scm_init_guile(); scm_c_use_module("system repl server"); - guile::Geiser* geiser = new guile::Geiser(this); + geiser = new guile::Geiser(this); geiser->start(); scm_c_load_extension("libguile-frida-binding", @@ -28,6 +28,11 @@ GuileInterpreter::GuileInterpreter() LOG4CXX_INFO(logger, "Initializing GUILE finished"); } +GuileInterpreter::~GuileInterpreter() { + geiser->terminate(); + geiser->wait(); +} + int GuileInterpreter::evaluateWithErrorHandling(SCM (*fun)(void *), void* data, std::ostream& stdout,