Changes between Version 79 and Version 80 of processus_thread
- Timestamp:
- Feb 24, 2018, 3:42:29 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
processus_thread
v79 v80 183 183 This section describes the termination of a target process caused by a sys_kill( SIGKILL ). 184 184 185 1. The sys_kill() syscali must be executed by the main thread of the target process OR by any thread of another process than the target process.185 1. The sys_kill() syscali must be executed by the main thread of the target process, OR by any thread of another process than the target process. 186 186 1. The sys_kill() function calls the process_sigaction() function that send a multicast, parallel and non blocking RPC to all clusters containing at least one thread of the target process, to block all process threads, but the main thread. This function returns only when all threads (but the main) are blocked and descheduled. 187 1. The sys_kill() function calls again the process_sigaction() function that send another multicast, parallel and non blocking RPC to the same clusters, to mark for delete all process threads, but the main thread. The marked threads will be actually destroyed by the scheduler at the next scheduling point. The target process descriptor copies are actually destroyed by the scheduler when the last thread in remote cluster is destroyed.187 1. The sys_kill() function calls again the process_sigaction() function that send another multicast, parallel and non blocking RPC to the same clusters, to mark for delete all process threads, but the main thread. The marked threads will be actually destroyed by the scheduler at the next scheduling point. The target process descriptor copies are actually destroyed by the scheduler when the last thread in remote cluster is destroyed. 188 188 1. The sys_kill() function set the PROCESS_TERM_KILL flag in the target process descriptor in owner cluster to synchronize with its parent process, and returns. 189 189 1. The target process main thread, and the target process descriptor in owner cluster will be actually destroyed by the scheduler when the parent process sys_wait() function marks this main thread for delete.