/*
- * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@tuebingen.mpg.de>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
};
static struct timeval now_struct;
-struct timeval *now = &now_struct;
+const struct timeval *now = &now_struct;
static inline bool timeout_is_zero(struct sched *s)
{
if (t->notification != 0)
sched_min_delay(s);
if (t->info.pre_select)
- t->info.pre_select(s, t);
+ t->info.pre_select(s, t->info.context);
}
}
int ret;
#ifndef SCHED_DEBUG
- ret = t->info.post_select(s, t);
+ ret = t->info.post_select(s, t->info.context);
#else
struct timeval t1, t2, diff;
unsigned long pst;
clock_get_realtime(&t1);
- ret = t->info.post_select(s, t);
+ ret = t->info.post_select(s, t->info.context);
clock_get_realtime(&t2);
tv_diff(&t1, &t2, &diff);
pst = tv2ms(&diff);
* \return Zero if no more tasks are left in the task list, negative if the
* select function returned an error.
*
- * \sa \ref task, \ref now.
+ * \sa \ref now.
*/
int schedule(struct sched *s)
{
FD_ZERO(&s->wfds);
s->select_timeout = s->default_timeout;
s->max_fileno = -1;
- clock_get_realtime(now);
+ clock_get_realtime(&now_struct);
sched_preselect(s);
ret = s->select_function(s->max_fileno + 1, &s->rfds, &s->wfds,
&s->select_timeout);
FD_ZERO(&s->rfds);
FD_ZERO(&s->wfds);
}
- clock_get_realtime(now);
+ clock_get_realtime(&now_struct);
num_running_tasks = sched_post_select(s);
if (num_running_tasks == 0)
return 0;
return t;
}
-/**
- * Obtain the context pointer of a task.
- *
- * \param t Return this task's context pointer.
- *
- * \return A pointer to the memory location specified previously as \a
- * task_info->context when the task was registered with \ref task_register().
- */
-void *task_context(struct task *t)
-{
- return t->info.context;
-}
-
/**
* Get the list of all registered tasks.
*