X-Git-Url: https://git.siccegge.de//index.cgi?a=blobdiff_plain;f=src%2Fbindings%2FGuile.cxx;h=aa7ea526118c205f5278e632fef4d554d9e6b887;hb=be25639ecafa1ec2d37c8e2d6c8225c12ddb59ff;hp=18d12e95eef91b5edec0624b5797a68081678546;hpb=4e10c813f57981265534133a6d857fd66c6edccc;p=frida%2Ffrida.git 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,