Changeset 593 for trunk/kernel/kern/process.h
- Timestamp:
- Nov 10, 2018, 2:16:38 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/kern/process.h
r583 r593 289 289 * all threads of a process identified by the <pid> argument, depending on the 290 290 * <action_type> argument. 291 * WARNING : the DELETE and BLOCK actions are NOT executed on the target process main thread 292 * (thread 0 in process owner cluster), and not executed on the calling thread itself. 291 * 293 292 * It uses the multicast, non blocking rpc_process_sigaction_client() function to send 294 293 * parallel requests to all remote clusters containing process copies. … … 298 297 * It is also used by the process_make_exec() function to handle the "exec" syscall. 299 298 * It is also called by the TXT device ISR to execute the ctrl C & ctrl Z commands. 299 * 300 * WARNING (1) the DELETE action is NOT executed on the target process main thread 301 * (thread 0 in process owner cluster), and not executed on the client thread itself. 302 * 303 * WARNING (2) the BLOCK action is executed on all target process threads, and this function 304 * returns only when all threads BUT the client thread are actually blocked and not running. 305 * When the client thread is also a target thread, it is blocked but not descheduled. 306 * 307 * WARNING (3) the UNBLOCK action is executed on all target process threads, as the 308 * client thread cannot be a target thread. 300 309 * 301 310 * Implementation note: … … 328 337 * It scan the list of local thread, and sets the THREAD_BLOCKED_GLOBAL bit for all threads. 329 338 * It request the relevant schedulers to acknowledge the blocking, using IPI if required, 330 * and returns only when all threads in cluster are actually blocked.339 * and returns only when all threads in cluster, but the calling thread, are actually blocked. 331 340 * The threads are not detached from the scheduler, and not detached from the local process. 332 341 *********************************************************************************************
Note: See TracChangeset
for help on using the changeset viewer.