Subversion Repositories HelenOS

Rev

Rev 2903 | Rev 3018 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2903 Rev 2925
Line 85... Line 85...
85
 *
85
 *
86
 * For locking rules, see declaration thereof.
86
 * For locking rules, see declaration thereof.
87
 */
87
 */
88
SPINLOCK_INITIALIZE(threads_lock);
88
SPINLOCK_INITIALIZE(threads_lock);
89
 
89
 
90
/** ALV tree of all threads.
90
/** AVL tree of all threads.
91
 *
91
 *
92
 * When a thread is found in the threads_tree AVL tree, it is guaranteed to
92
 * When a thread is found in the threads_tree AVL tree, it is guaranteed to
93
 * exist as long as the threads_lock is held.
93
 * exist as long as the threads_lock is held.
94
 */
94
 */
95
avltree_t threads_tree;    
95
avltree_t threads_tree;    
Line 265... Line 265...
265
 
265
 
266
/** Create new thread
266
/** Create new thread
267
 *
267
 *
268
 * Create a new thread.
268
 * Create a new thread.
269
 *
269
 *
270
 * @param func      Thread's implementing function.
270
 * @param func      Thread's implementing function.
271
 * @param arg       Thread's implementing function argument.
271
 * @param arg       Thread's implementing function argument.
272
 * @param task      Task to which the thread belongs.
272
 * @param task      Task to which the thread belongs. The caller must
-
 
273
 *          guarantee that the task won't cease to exist during the
-
 
274
 *          call. The task's lock may not be held.
273
 * @param flags     Thread flags.
275
 * @param flags     Thread flags.
274
 * @param name      Symbolic name.
276
 * @param name      Symbolic name.
275
 * @param uncounted Thread's accounting doesn't affect accumulated task
277
 * @param uncounted Thread's accounting doesn't affect accumulated task
276
 *          accounting.
278
 *          accounting.
277
 *
279
 *
278
 * @return New thread's structure on success, NULL on failure.
280
 * @return      New thread's structure on success, NULL on failure.
279
 *
281
 *
280
 */
282
 */
281
thread_t *thread_create(void (* func)(void *), void *arg, task_t *task,
283
thread_t *thread_create(void (* func)(void *), void *arg, task_t *task,
282
    int flags, char *name, bool uncounted)
284
    int flags, char *name, bool uncounted)
283
{
285
{