From: Andre Noll Date: Mon, 30 Dec 2013 22:31:08 +0000 (+0000) Subject: task_register() conversion: i9e task X-Git-Tag: v0.5.3~8^2~25 X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=e527007394286dc6af6c76d13d1e0ccbe052703b;p=paraslash.git task_register() conversion: i9e task --- diff --git a/client.c b/client.c index 56e7cc5c..349f970d 100644 --- a/client.c +++ b/client.c @@ -495,6 +495,7 @@ __noreturn static void interactive_session(void) goto out; para_log = i9e_log; ret = schedule(&sched); + sched_shutdown(&sched); i9e_close(); para_log = stderr_log; out: diff --git a/interactive.c b/interactive.c index 9f2b7195..5d3303d7 100644 --- a/interactive.c +++ b/interactive.c @@ -29,7 +29,7 @@ struct i9e_private { FILE *stderr_stream; int num_columns; char empty_line[1000]; - struct task task; + struct task *task; struct btr_node *stdout_btrn; bool last_write_was_status; bool line_handler_running; @@ -52,7 +52,7 @@ static struct i9e_private i9e_private, *i9ep = &i9e_private; */ int i9e_get_error(void) { - return i9ep->task.error; + return i9ep->task->error; } static bool is_prefix(const char *partial, const char *full, size_t len) @@ -453,10 +453,13 @@ int i9e_open(struct i9e_client_info *ici, struct sched *s) ret = mark_fd_nonblocking(ici->fds[1]); if (ret < 0) return ret; - i9ep->task.pre_select = i9e_pre_select; - i9ep->task.post_select = i9e_post_select; - sprintf(i9ep->task.status, "i9e"); - register_task(s, &i9ep->task); + i9ep->task = task_register(&(struct task_info) { + .name = "i9e", + .pre_select = i9e_pre_select, + .post_select = i9e_post_select, + .context = i9ep, + }, s); + rl_readline_name = "para_i9e"; rl_basic_word_break_characters = " "; rl_attempted_completion_function = i9e_completer;