Changes between Version 107 and Version 108 of processus_thread
- Timestamp:
- Aug 22, 2018, 6:11:11 PM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
processus_thread
v107 v108 148 148 This destruction mechanism can involve three threads: the target thread T, the killer thread K, and the joining thread J: 149 149 150 It uses two specific fields in the t hread descriptor: the ''join_lock'' field is a remote_spin_lock, and the ''join_xp'' field contains an extended pointer on the first arrived thread. It uses also two specific [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/kernel/kern/thread.h#L72 THREAD_FLAG_JOIN_DONE] and [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/kernel/kern/thread.h#L73 THREAD_FLAG_KILL_DONE] flags in the target thread descriptor ''flags'' field, and one specific blocking bit [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/kernel/kern/thread.h#L86 THREAD_BLOCKED_JOIN], in the ''blocked'' field.150 It uses two specific fields in the target thread descriptor: the ''join_lock'' field is a remote_spin_lock, and the ''join_xp'' field contains an extended pointer on the first arrived thread. It uses also two specific [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/kernel/kern/thread.h#L72 THREAD_FLAG_JOIN_DONE] and [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/kernel/kern/thread.h#L73 THREAD_FLAG_KILL_DONE] flags in the target thread descriptor ''flags'' field, and one specific blocking bit [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/kernel/kern/thread.h#L86 THREAD_BLOCKED_JOIN], in the ''blocked'' field. 151 151 152 152 * Both the killer thread K, executing the thread_kill() function), and the joining thread J, executing the sys_thread_join() function, try to take the ''join_lock'' implemented in the T thread descriptor (the ''join_lock'' in the J thread is not used).