osmo-bts-virtual: Shut down gracefully on socket creation failure
Don't simply crash if creation of the multicast socket fails Change-Id: Ie87b6684b3aa7f21742e4cf21533e980485c1230
This commit is contained in:
parent
a4bca11555
commit
04719d19b9
|
@ -193,12 +193,12 @@ int bts_model_phy_link_open(struct phy_link *plink)
|
|||
plink->u.virt.virt_um = virt_um_init(plink, plink->u.virt.ms_mcast_group, plink->u.virt.ms_mcast_port,
|
||||
plink->u.virt.bts_mcast_group, plink->u.virt.bts_mcast_port,
|
||||
virt_um_rcv_cb);
|
||||
/* set back reference to plink */
|
||||
plink->u.virt.virt_um->priv = plink;
|
||||
if (!plink->u.virt.virt_um) {
|
||||
phy_link_state_set(plink, PHY_LINK_SHUTDOWN);
|
||||
return -1;
|
||||
}
|
||||
/* set back reference to plink */
|
||||
plink->u.virt.virt_um->priv = plink;
|
||||
|
||||
/* iterate over list of PHY instances and initialize the scheduler */
|
||||
llist_for_each_entry(pinst, &plink->instances, list) {
|
||||
|
|
|
@ -66,6 +66,11 @@ struct virt_um_inst *virt_um_init(void *ctx, char *tx_mcast_group, uint16_t tx_m
|
|||
struct virt_um_inst *vui = talloc_zero(ctx, struct virt_um_inst);
|
||||
vui->mcast_sock = mcast_bidir_sock_setup(ctx, tx_mcast_group, tx_mcast_port,
|
||||
rx_mcast_group, rx_mcast_port, 1, virt_um_fd_cb, vui);
|
||||
if (!vui->mcast_sock) {
|
||||
perror("Unable to create VirtualUm multicast socket");
|
||||
talloc_free(vui);
|
||||
return NULL;
|
||||
}
|
||||
vui->recv_cb = recv_cb;
|
||||
|
||||
return vui;
|
||||
|
|
Loading…
Reference in New Issue