Some comments on thread_entry_point().
authorJuan Jose Garcia Ripoll <jjgarcia@juanjo-imac.local>
Thu, 21 Jan 2010 14:56:44 +0000 (15:56 +0100)
committerJuan Jose Garcia Ripoll <jjgarcia@juanjo-imac.local>
Thu, 21 Jan 2010 14:56:44 +0000 (15:56 +0100)
src/c/threads.d

index a19040f..a1ff6a1 100644 (file)
@@ -143,6 +143,17 @@ thread_entry_point(void *arg)
         cl_object process = (cl_object)arg;
        cl_env_ptr env = process->process.env;
 
+       /*
+        * Upon entering this routine
+        *      process.env = our environment for lisp
+        *      process.active = 2
+        *      signals are disabled in the environment
+        *
+        * Since process.active = 2, this process will not recevie
+        * signals that originate from other processes. Furthermore,
+        * we expect not to get any other interrupts (SIGSEGV, SIGFPE)
+        * if we do things right.
+        */
        /* 1) Setup the environment for the execution of the thread */
        ecl_set_process_env(env = process->process.env);
 #ifndef ECL_WINDOWS_THREADS