Changes between Version 52 and Version 53 of kernel_syscalls
- Timestamp:
- Dec 9, 2016, 7:03:38 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
kernel_syscalls
v52 v53 19 19 == __Threads related syscall handlers__ == 20 20 21 === 1) int '''_sys_pthread_create'''( pthread_t * buffer, void * attr , void * function , void * arg ) ===21 === 1) int '''_sys_pthread_create'''( pthread_t * trdid , void * attr , void * function , void * arg ) === 22 22 This function search in the mapping a thread that is declared in the same space as the calling (parent) thread, 23 23 and has the entry point defined by the function <argument>. If it found a matching thread in the mapping, 24 24 this thread is activated. 25 * ''' buffer''' : pointer on buffer to store the activated thread TRDID.25 * '''trdid''' : pointer on buffer for allocated trdid. 26 26 * '''attr''' : the attribute argument is not supported : must be NULL. 27 27 * '''function''' : pointer on the thread entry function. … … 30 30 31 31 === 2) int '''_sys_pthread_join'''( pthread_t trdid ) === 32 This blocking function returns only when the thread identified by the <trdid> argument exit. 32 33 33 34 === 3) int '''_sys_pthread_kill'''( pthread_t trdid , int signal ) === 35 This function send a SIGKILL signal to the thread identified by the <trdid> argument. The target thread will be desactivated at the next scheduling point. 34 36 35 37 === 4) int '''_sys_pthread_exit'''( void* string ) === 38 This function deschedules and desactivates the calling thread. 36 39 37 40 === 5) int '''_sys_pthread_yield'''( ) === 38 41 39 === 6) void '''_sys_kthread_create'''( unsigned int x , unsigned int y , unsigned int p , void * function , void * arg ) ===42 === 6) void '''_sys_kthread_create'''( unsigned int * trdid , unsigned int x , unsigned int y , unsigned int p , void * function , void * arg ) === 40 43 This function initializes a kernel thread context, for a core identified by the <x,y,p> arguments, in a given scheduler. 41 44 It allocate a new "ltid" and update the threads field in the scheduler. 42 45 It is used in kernel-init to create the NIC_TX and NIC_RX kernel threads. 46 * '''trdid''' : pointer on buffer for allocated trdid. 43 47 * '''x''' : X cluster coordinate. 44 48 * '''y''' : Y cluster coordinate.