/** The opaque structure returned by vss_add_fec_client(). */
struct fec_client *fc;
/** The FEC parameters for this target. */
/** The opaque structure returned by vss_add_fec_client(). */
struct fec_client *fc;
/** The FEC parameters for this target. */
- del_close_on_fork_list(sc->fd);
+ /* ignore return value, closing the target anyway. */
+ (void)write(sc->fd, buf, len);
static void udp_shutdown_targets(void)
{
struct sender_client *sc, *tmp;
static void udp_shutdown_targets(void)
{
struct sender_client *sc, *tmp;
list_for_each_entry_safe(sc, tmp, &targets, node)
list_for_each_entry_safe(sc, tmp, &targets, node)
ut->fcp.slices_per_group = scd->slices_per_group;
ut->fcp.data_slices_per_group = scd->data_slices_per_group;
ut->fcp.init_fec = udp_init_fec;
ut->fcp.slices_per_group = scd->slices_per_group;
ut->fcp.data_slices_per_group = scd->data_slices_per_group;
ut->fcp.init_fec = udp_init_fec;
PARA_INFO_LOG("adding to target list (%s)\n", sc->name);
ut->fc = vss_add_fec_client(sc, &ut->fcp);
para_list_add(&sc->node, &targets);
PARA_INFO_LOG("adding to target list (%s)\n", sc->name);
ut->fc = vss_add_fec_client(sc, &ut->fcp);
para_list_add(&sc->node, &targets);