Changeset 583 for trunk/kernel/kern/process.h
- Timestamp:
- Nov 1, 2018, 12:10:42 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/kern/process.h
r564 r583 312 312 313 313 /********************************************************************************************* 314 * This function blocks all threads for a given <process> in the local cluster. 315 * It scan the list of local thread, and sets the THREAD_BLOCKED_GLOBAL bit for all 316 * threads, BUT the main thread (thread 0 in owner cluster), and the client thread 317 * identified by the <client_xp> argument. It request the relevant schedulers to acknowledge 318 * the blocking, using IPI if required, and returns only when all blockable threads 319 * in cluster are actually blocked. 320 * The threads are not detached from the scheduler, and not detached from the local process. 321 ********************************************************************************************* 322 * @ process : pointer on the target process descriptor. 323 * @ client_xp : extended pointer on the client thread that should not be blocked. 324 ********************************************************************************************/ 325 void process_block_threads( process_t * process, 326 xptr_t client_xp ); 327 328 /********************************************************************************************* 329 * This function marks for deletion all threads for a given <process> in the local cluster. 314 * This function marks for delete all threads for a given <process> in the local cluster. 330 315 * It scan the list of local thread, and sets the THREAD_FLAG_REQ_DELETE bit for all 331 316 * threads, BUT the main thread (thread 0 in owner cluster), and the client thread 332 317 * identified by the <client_xp> argument. 333 * The actual delet ionwill be done by the scheduler at the next scheduling point.318 * The actual delete will be done by the scheduler at the next scheduling point. 334 319 ********************************************************************************************* 335 320 * @ process : pointer on the process descriptor. … … 337 322 ********************************************************************************************/ 338 323 void process_delete_threads( process_t * process, 339 xptr_t client_xp ); 324 xptr_t client_xp ); 325 326 /********************************************************************************************* 327 * This function blocks all threads for a given <process> in the local cluster. 328 * It scan the list of local thread, and sets the THREAD_BLOCKED_GLOBAL bit for all threads. 329 * 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. 331 * The threads are not detached from the scheduler, and not detached from the local process. 332 ********************************************************************************************* 333 * @ process : pointer on the target process descriptor. 334 ********************************************************************************************/ 335 void process_block_threads( process_t * process ); 340 336 341 337 /********************************************************************************************* … … 498 494 * @ process : pointer on the local process descriptor. 499 495 * @ thread : pointer on new thread to be registered. 500 * @ trdid : [out] address ofbuffer for allocated trdid.496 * @ trdid : [out] buffer for allocated trdid. 501 497 * @ returns 0 if success / returns non zero if no slot available. 502 498 ********************************************************************************************/ … … 504 500 struct thread_s * thread, 505 501 trdid_t * trdid ); 506 507 /*********************************************************************************************508 * This function atomically removes a thread registration from the local process descriptor509 * th_tbl[] array, using the relevant lock, depending on the kernel/user type.510 *********************************************************************************************511 * @ thread : local pointer on thread to be removed.512 * @ return true if the removed thread was the last registered thread.513 ********************************************************************************************/514 bool_t process_remove_thread( struct thread_s * thread );515 502 516 503
Note: See TracChangeset
for help on using the changeset viewer.