diff --git a/configure b/configure index 3e4abaf..5e0123e 100755 --- a/configure +++ b/configure @@ -35,7 +35,7 @@ dl="" libmelonPath=`./path_generator /usr/local/melon` libPath=`./path_generator /usr/local/lib/melang_dynamic` if ! case $os in MINGW*) false;; esac; then - installPath=`./path_generator "$HOME/melang-0.5.0"` + installPath=`./path_generator "$HOME/melang-0.6.0"` libmelonPath=`./path_generator "$HOME/libmelon"` libPath=`./path_generator $HOME/lib/melang_dynamic` elif [ $os == 'Darwin' ]; then diff --git a/lib_src/sys/mln_lang_sys.c b/lib_src/sys/mln_lang_sys.c index a026953..67e8a46 100644 --- a/lib_src/sys/mln_lang_sys.c +++ b/lib_src/sys/mln_lang_sys.c @@ -3219,7 +3219,18 @@ static void mln_lang_sys_exec_free(mln_lang_sys_exec_t *se) mln_tcp_conn_destroy(&se->conn); mln_socket_close(fd); if (se->cmd != NULL) mln_string_free(se->cmd); - if (se->running) kill(se->pid, SIGTERM); + if (se->running) { +#if defined(WIN32) + HANDLE handle = NULL; + handle = OpenProcess(PROCESS_TERMINATE, FALSE, se->pid); + if (handle != NULL) { + TerminateProcess(handle, 0); + CloseHandle(handle); + } +#else + kill(se->pid, SIGTERM); +#endif + } mln_alloc_free(se); } diff --git a/melang.c b/melang.c index fb8a71c..62d1bdf 100644 --- a/melang.c +++ b/melang.c @@ -47,8 +47,8 @@ static mln_fd_node_t *head = NULL; static mln_fd_node_t *tail = NULL; static pthread_mutex_t lock; __thread mln_fd_node_t *t_node; -static mln_conf_item_t daemon_conf; #if !defined(WIN32) +static mln_conf_item_t daemon_conf; static int daemon_flag = 0; #endif