Subversion Repositories HelenOS-historic

Rev

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

Rev 1171 Rev 1177
Line 234... Line 234...
234
    spinlock_unlock(&t->task->lock);
234
    spinlock_unlock(&t->task->lock);
235
   
235
   
236
    spinlock_unlock(&t->lock);
236
    spinlock_unlock(&t->lock);
237
   
237
   
238
    spinlock_lock(&threads_lock);
238
    spinlock_lock(&threads_lock);
239
    btree_remove(&threads_btree, (__native) t, NULL);
239
    btree_remove(&threads_btree, (btree_key_t) ((__address ) t), NULL);
240
    spinlock_unlock(&threads_lock);
240
    spinlock_unlock(&threads_lock);
241
   
241
   
242
    slab_free(thread_slab, t);
242
    slab_free(thread_slab, t);
243
}
243
}
244
 
244
 
Line 310... Line 310...
310
    /*
310
    /*
311
     * Register this thread in the system-wide list.
311
     * Register this thread in the system-wide list.
312
     */
312
     */
313
    ipl = interrupts_disable();
313
    ipl = interrupts_disable();
314
    spinlock_lock(&threads_lock);
314
    spinlock_lock(&threads_lock);
315
    btree_insert(&threads_btree, (__native) t, (void *) t, NULL);
315
    btree_insert(&threads_btree, (btree_key_t) ((__address) t), (void *) t, NULL);
316
    spinlock_unlock(&threads_lock);
316
    spinlock_unlock(&threads_lock);
317
   
317
   
318
    /*
318
    /*
319
     * Attach to the containing task.
319
     * Attach to the containing task.
320
     */
320
     */
Line 444... Line 444...
444
 */
444
 */
445
bool thread_exists(thread_t *t)
445
bool thread_exists(thread_t *t)
446
{
446
{
447
    btree_node_t *leaf;
447
    btree_node_t *leaf;
448
   
448
   
449
    return btree_search(&threads_btree, (__native) t, &leaf) != NULL;
449
    return btree_search(&threads_btree, (btree_key_t) ((__address) t), &leaf) != NULL;
450
}
450
}
451
 
451
 
452
/** Process syscall to create new thread.
452
/** Process syscall to create new thread.
453
 *
453
 *
454
 */
454
 */