Ignore:
Timestamp:
Nov 1, 2018, 12:10:42 PM (5 years ago)
Author:
alain
Message:

Improve signals.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/kern/process.h

    r564 r583  
    312312
    313313/*********************************************************************************************
    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.
    330315 * It scan the list of local thread, and sets the THREAD_FLAG_REQ_DELETE bit for all
    331316 * threads, BUT the main thread (thread 0 in owner cluster), and the client thread
    332317 * identified by the <client_xp> argument.
    333  * The actual deletion will 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.
    334319 *********************************************************************************************
    335320 * @ process     : pointer on the process descriptor.
     
    337322 ********************************************************************************************/
    338323void 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 ********************************************************************************************/
     335void process_block_threads( process_t * process );
    340336
    341337/*********************************************************************************************
     
    498494 * @ process  : pointer on the local process descriptor.
    499495 * @ thread   : pointer on new thread to be registered.
    500  * @ trdid    : [out] address of buffer for allocated trdid.
     496 * @ trdid    : [out] buffer for allocated trdid.
    501497 * @ returns 0 if success / returns non zero if no slot available.
    502498 ********************************************************************************************/
     
    504500                                 struct thread_s * thread,
    505501                                 trdid_t         * trdid );
    506 
    507 /*********************************************************************************************
    508  * This function atomically removes a thread registration from the local process descriptor
    509  * 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 );
    515502
    516503
Note: See TracChangeset for help on using the changeset viewer.