]> git.jsancho.org Git - gacela.git/blobdiff - threads.lisp
(no commit message)
[gacela.git] / threads.lisp
diff --git a/threads.lisp b/threads.lisp
deleted file mode 100755 (executable)
index 758af2c..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-(clines "#include <pthread.h>")
-
-(clines "#define inheap(pp) ((char *)(pp) < heap_end)")
-(clines "static object code_for_eval_code;")
-
-(defcfun "static object staticp (object array)" 0
-  "if (inheap (array->st.st_self)) return Ct;"
-  "else return Cnil;")
-
-(defcfun "static void *eval_code (void *parameter)" 0
-  (eval code_for_eval_code))
-
-(defcfun "int run_thread (object code)" 0
-  "pthread_t tid;"
-  "int ret;"
-  "code_for_eval_code = code;"
-  "ret = pthread_create (&tid, NULL, eval_code, NULL);"
-  "return ret;")
-
-(defcfun "int runprocess (object code)" 0
-  "int pid;"
-  "pid = fork ();"
-  "if (pid == 0) {"
-  "close (0);"
-  (eval code)
-  "exit (0);"
-  "} else {"
-  "return pid;"
-  "}")
-
-(defentry run-thread2 (object) (int "run_thread"))
-(defentry staticp (object) (object "staticp"))
-(defentry run-process (object) (int "runprocess"))
-
-(defun run-thread (code)
-  (and (staticp code) (run-thread2 code)))