Cleanup on previous commits

This commit is contained in:
Bahadir Balban
2009-10-30 21:59:46 +02:00
parent c3c6c10cf7
commit 2839f46245
3 changed files with 4 additions and 77 deletions

View File

@@ -140,12 +140,12 @@ void handle_requests(void)
break;
}
case L4_IPC_TAG_EXIT: {
/* Pager exit test
struct task_ids ids;
l4_getid(&ids);
printf("\n%s: Destroying self (%d), along with any tasks.\n", __TASKNAME__, self_tid());
l4_thread_control(THREAD_DESTROY, &ids);
*/
/* An exiting task has no receive phase */
sys_exit(sender, (int)mr[0]);

View File

@@ -232,7 +232,7 @@ void sched_resume_async(struct ktcb *task)
*/
void sched_pager_exit(void)
{
printk("Pager (%d) Exiting...\n", current->tid);
// printk("Pager (%d) Exiting...\n", current->tid);
/* Remove from its list, callers get -ESRCH */
tcb_remove(current);
@@ -251,7 +251,7 @@ void sched_pager_exit(void)
preempt_disable();
/*
* TOO LONG!
* FIXME: TOO LONG!
*/
tcb_delete(current);
@@ -266,75 +266,6 @@ void sched_pager_exit(void)
BUG();
}
#if 0
/*
* A paged-thread leaves the system and waits on
* its pager's task_dead queue.
*/
void sched_die_child(void)
{
int locked;
/*
* Find pager, he _must_ be there because he never
* quits before quitting us
*/
struct ktcb *pager = tcb_find(current->pagerid);
do {
/* Busy spin without disabling preemption */
locked = mutex_trylock(&pager->task_dead_mutex);
} while (!locked);
/* Remove from container task list,
* callers get -ESRCH */
tcb_remove(current);
/*
* If the pager searches for us to destroy,
* he won't find us but he will block on the
* task_dead mutex when searching whether
* we died already.
*/
/*
* If there are any sleepers on any of the task's
* waitqueues, we need to wake those tasks up.
*/
wake_up_all(&current->wqh_send, 0);
wake_up_all(&current->wqh_recv, 0);
/*
* Add self to pager's dead tasks list,
* to be deleted by pager
*/
list_insert(&current->task_list, &pager->task_dead_list);
/* Now quit the scheduler */
preempt_disable();
sched_rq_remove_task(current);
current->state = TASK_INACTIVE;
current->flags &= ~TASK_SUSPENDING;
scheduler.prio_total -= current->priority;
BUG_ON(scheduler.prio_total < 0);
preempt_enable();
/*
* Clear pager waitqueue in case it issued
* a suspend on us (for any reason)
*/
wake_up(&current->wqh_pager, 0);
/*
* Unlock task_dead queue,
* pager can safely delete us
*/
mutex_unlock(&pager->task_dead_mutex);
schedule();
BUG();
}
#endif
void sched_exit_sync(void)
{
struct ktcb *pager = tcb_find(current->pagerid);

View File

@@ -117,7 +117,6 @@ int mutex_lock(struct mutex *mutex)
* undeterministic as to how many retries will result in success.
* We may need to add priority-based locking.
*/
//printk("Thread (%d) locking (%p) nlocks: %d\n", current->tid, mutex, current->nlocks);
for (;;) {
spin_lock(&mutex->wqh.slock);
if (!__mutex_lock(&mutex->lock)) { /* Could not lock, sleep. */
@@ -132,7 +131,6 @@ int mutex_lock(struct mutex *mutex)
/* Did we wake up normally or get interrupted */
if (current->flags & TASK_INTERRUPTED) {
//printk("XXXXXXXXXXXXXXXX (%d) Interrupted\n", current->tid);
current->flags &= ~TASK_INTERRUPTED;
return -EINTR;
}
@@ -142,14 +140,12 @@ int mutex_lock(struct mutex *mutex)
}
}
spin_unlock(&mutex->wqh.slock);
//printk("Thread (%d) locked (%p) nlocks: %d\n", current->tid, mutex, current->nlocks);
return 0;
}
static inline void mutex_unlock_common(struct mutex *mutex, int sync)
{
struct ktcb *c = current; if (c);
//printk("Thread (%d) unlocking (%p) nlocks: %d\n", c->tid, mutex, c->nlocks);
spin_lock(&mutex->wqh.slock);
__mutex_unlock(&mutex->lock);
current->nlocks--;