diff --git a/library/dialect/swi/fli/swi.c b/library/dialect/swi/fli/swi.c index 81a353109..f61433941 100755 --- a/library/dialect/swi/fli/swi.c +++ b/library/dialect/swi/fli/swi.c @@ -2508,7 +2508,8 @@ PL_thread_raise(int tid, int sig) if ( !REMOTE_ThreadHandle(tid).in_use ) goto error; - if ( !raiseSignal(tid, sig) || + + if ( !raiseSignal(REMOTE_PL_local_data_p(tid), sig) || !alertThread(tid) ) goto error; @@ -2516,6 +2517,16 @@ PL_thread_raise(int tid, int sig) return TRUE; } +#else + +int +PL_thread_raise(int tid, int sig) +{ + if ( !raiseSignal(NULL, sig) ) + return FALSE; + + return TRUE; +} #endif diff --git a/library/system.yap b/library/system.yap old mode 100644 new mode 100755 index 7dc64248a..5c84c5e30 --- a/library/system.yap +++ b/library/system.yap @@ -48,8 +48,10 @@ :- use_module(library(lists), [append/3]). +:- if(current_prolog_flag(windows, false)). :- reexport(library(unix), [wait/2, kill/2]). +:- endif. :- load_foreign_files([sys], [], init_sys).