/*
- * Copyright (C) 2006-2007 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2008 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
struct writer_node *wn = &g->writer_nodes[i];
t->ret = wn->writer->pre_select(s, wn);
if (t->ret < 0) {
- g->eof = 1;
+ g->error = t->ret;
return;
}
}
struct writer_node *wn = &g->writer_nodes[i];
t->ret = wn->writer->post_select(s, wn);
if (t->ret < 0) {
- g->eof = 1;
+ g->error = t->ret;
return;
}
if (!i)
FOR_EACH_WRITER_NODE(i, g)
g->writer_nodes[i].written -= min_written;
}
- if (!*g->loaded && *g->input_eof) {
- g->eof = 1;
- t->ret = -E_WNG_EOF;
+ if (!*g->loaded && *g->input_error) {
+ g->error = *g->input_error;
+ t->ret = g->error;
return;
}
t->ret = 1;
g->max_chunk_bytes = PARA_MAX(g->max_chunk_bytes, ret);
}
sprintf(g->task.status, "%s", "writer node group");
- g->eof = 0;
+ g->error = 0;
return 1;
err_out:
- PARA_ERROR_LOG("%s\n", PARA_STRERROR(-ret));
+ PARA_ERROR_LOG("%s\n", para_strerror(-ret));
unregister_task(&g->task);
while (i > 0) {
struct writer_node *wn = &g->writer_nodes[--i];
wn->writer->close(wn);
}
g->num_writers = 0;
- g->eof = 1;
+ g->error = ret;
return ret;
}
void wng_unregister(struct writer_node_group *g)
{
unregister_task(&g->task);
- g->eof = 1;
}
/**