para_fd_set(powd->fd, &s->wfds, &s->max_fileno);
return 1;
}
-static int oss_post_select(__a_unused struct sched *s,
- struct writer_node *wn)
+
+static int oss_post_select(struct sched *s, struct writer_node *wn)
{
int ret;
struct private_oss_write_data *powd = wn->private_data;
{
struct private_oss_write_data *powd = wn->private_data;
- close(powd->fd);
+ if (powd->fd >= 0)
+ close(powd->fd);
free(powd);
}
return 1;
err:
close(powd->fd);
- free(powd);
+ powd->fd = -1;
return ret;
}