X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=osx_write.c;h=a9c421a6a0a27397afbd69b302c77199c52e768b;hp=d38e2fb1d0ebc2d650060677a70b878337f135d3;hb=80ff4e0205b6eefa603835fdc30f7f32fbd21f9f;hpb=3879481ddabc38236b9eee979a090c2a9bfa74d3 diff --git a/osx_write.c b/osx_write.c index d38e2fb1..a9c421a6 100644 --- a/osx_write.c +++ b/osx_write.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -276,7 +276,7 @@ static inline bool need_drain_delay(struct private_osx_write_data *powd) static void osx_write_pre_select(struct sched *s, struct task *t) { - struct writer_node *wn = container_of(t, struct writer_node, task); + struct writer_node *wn = task_context(t); struct private_osx_write_data *powd = wn->private_data; int ret; bool drain_delay_nec = false; @@ -301,9 +301,9 @@ static void osx_write_pre_select(struct sched *s, struct task *t) sched_request_timeout_ms(50, s); } -static void osx_write_post_select(__a_unused struct sched *s, struct task *t) +static int osx_write_post_select(__a_unused struct sched *s, struct task *t) { - struct writer_node *wn = container_of(t, struct writer_node, task); + struct writer_node *wn = task_context(t); struct private_osx_write_data *powd = wn->private_data; struct btr_node *btrn = wn->btrn; int ret; @@ -314,7 +314,7 @@ static void osx_write_post_select(__a_unused struct sched *s, struct task *t) if (!powd) { ret = btr_node_status(btrn, wn->min_iqs, BTR_NT_LEAF); if (ret == 0) - return; + return 0; if (ret < 0) goto fail; ret = core_audio_init(wn); @@ -337,7 +337,7 @@ static void osx_write_post_select(__a_unused struct sched *s, struct task *t) ret = 0; mutex_unlock(powd->mutex); if (ret >= 0) - return; + return 0; fail: assert(ret < 0); if (powd && powd->callback_btrn) { @@ -348,7 +348,7 @@ fail: } btr_remove_node(&wn->btrn); PARA_NOTICE_LOG("%s\n", para_strerror(-ret)); - t->error = ret; + return ret; } /** @@ -366,9 +366,6 @@ void osx_write_init(struct writer *w) w->post_select = osx_write_post_select; w->parse_config_or_die = osx_write_parse_config_or_die; w->free_config = osx_free_config; - w->help = (struct ggo_help) { - .short_help = osx_write_args_info_help, - .detailed_help = osx_write_args_info_detailed_help - }; + w->help = (struct ggo_help)DEFINE_GGO_HELP(osx_write); osx_write_cmdline_parser_free(&dummy); }