Try moving swi_init(...) outside of the sub in order to get it executed just once.sub set_location_list{ ... my @files = (t("/home/steve/Documents/i_prolog.pl")); swi_init("pl", "-g", "true", "-nosignals"); # Or swi_init("-nosign +als"); swi_consult @files; ... }
I've also tried swi_cleanup() after every Prolog call.
swi_cleanup() is not fully implemented by the SWI-Prolog engine (though the error you are getting probably indicates a bug in L::P::Yaswi) so its usage should be avoided.
File a bug report on the CPAN RT site including a minimal script that triggers it (both perl and prolog code), your OS, Perl and Prolog versions and compilation options and any other pertinent details about your environment (for instance, if you are running it under mod_perl).
I would try to reproduce and solve any error.
In reply to Re: YASWI "Prolog System Error: Thread 1"
by salva
in thread YASWI "Prolog System Error: Thread 1"
by Steve_BZ
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |