Use osmo_fd_*_{disable,enable}

Change-Id: Ic8c8c418e123fbdff625556a900b19650deefe0b
Depends: libosmocore.git Idb89ba7bc7c129a6304a76900d17f47daf54d17d
This commit is contained in:
Harald Welte
2020-10-19 12:28:26 +02:00
committed by laforge
parent 3fb4d31ecb
commit 94def47fdf
5 changed files with 18 additions and 17 deletions

View File

@@ -1,2 +1,3 @@
* update libosmocore dependency to > 1.3.x for osmo_sched_vty_init(), osmo_sched_vty_apply_localthread()
* update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include.
* update libosmocore dependency to > 1.4.x for osmo_fd_{read,write}_{enable,disable}()

View File

@@ -806,7 +806,7 @@ void Transceiver::ctrl_sock_send(ctrl_msg& m, int chan)
struct osmo_fd *conn_bfd = &s.conn_bfd;
s.txmsgqueue.push_back(m);
conn_bfd->when |= OSMO_FD_WRITE;
osmo_fd_write_enable(conn_bfd);
}
int Transceiver::ctrl_sock_write(int chan)
@@ -821,7 +821,7 @@ int Transceiver::ctrl_sock_write(int chan)
while (s.txmsgqueue.size()) {
const ctrl_msg m = s.txmsgqueue.front();
s.conn_bfd.when &= ~OSMO_FD_WRITE;
osmo_fd_write_disable(&s.conn_bfd);
/* try to send it over the socket */
rc = write(s.conn_bfd.fd, m.data, strlen(m.data) + 1);
@@ -829,7 +829,7 @@ int Transceiver::ctrl_sock_write(int chan)
goto close;
if (rc < 0) {
if (errno == EAGAIN) {
s.conn_bfd.when |= OSMO_FD_WRITE;
osmo_fd_write_enable(&s.conn_bfd);
break;
}
goto close;

View File

@@ -522,7 +522,7 @@ static int ipc_sock_send(struct ipc_per_trx_sock_state *state, struct msgb *msg)
return -EIO;
}
msgb_enqueue(&state->upqueue, msg);
conn_bfd->when |= OSMO_FD_WRITE;
osmo_fd_write_enable(conn_bfd);
return 0;
}
@@ -659,7 +659,7 @@ int IPCDevice::ipc_sock_write(struct osmo_fd *bfd)
msg = llist_entry(master_sk_state.upqueue.next, struct msgb, list);
ipc_prim = (struct ipc_sk_if *)msg->data;
bfd->when &= ~OSMO_FD_WRITE;
osmo_fd_write_disable(bfd);
/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
if (!msgb_length(msg)) {
@@ -676,7 +676,7 @@ int IPCDevice::ipc_sock_write(struct osmo_fd *bfd)
goto close;
if (rc < 0) {
if (errno == EAGAIN) {
bfd->when |= OSMO_FD_WRITE;
osmo_fd_write_enable(bfd);
break;
}
goto close;
@@ -706,7 +706,7 @@ int IPCDevice::ipc_chan_sock_write(struct osmo_fd *bfd)
/* peek at the beginning of the queue */
msg = llist_entry(sk_chan_state[bfd->priv_nr].upqueue.next, struct msgb, list);
ipc_prim = (struct ipc_sk_chan_if *)msg->data;
bfd->when &= ~OSMO_FD_WRITE;
osmo_fd_write_disable(bfd);
/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
if (!msgb_length(msg)) {
LOGP(DDEV, LOGL_ERROR,
@@ -722,7 +722,7 @@ int IPCDevice::ipc_chan_sock_write(struct osmo_fd *bfd)
goto close;
if (rc < 0) {
if (errno == EAGAIN) {
bfd->when |= OSMO_FD_WRITE;
osmo_fd_write_enable(bfd);
break;
}
goto close;

View File

@@ -142,7 +142,7 @@ int ipc_chan_sock_send(struct msgb *msg, uint8_t chan_nr)
return -EIO;
}
msgb_enqueue(&state->upqueue, msg);
conn_bfd->when |= OSMO_FD_WRITE;
osmo_fd_write_enable(conn_bfd);
return 0;
}
@@ -160,7 +160,7 @@ static int ipc_chan_sock_write(struct osmo_fd *bfd)
msg = llist_entry(state->upqueue.next, struct msgb, list);
ipc_prim = (struct ipc_sk_chan_if *)msg->data;
bfd->when &= ~OSMO_FD_WRITE;
osmo_fd_write_disable(bfd);
/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
if (!msgb_length(msg)) {
@@ -177,7 +177,7 @@ static int ipc_chan_sock_write(struct osmo_fd *bfd)
goto close;
if (rc < 0) {
if (errno == EAGAIN) {
bfd->when |= OSMO_FD_WRITE;
osmo_fd_write_enable(bfd);
break;
}
goto close;
@@ -231,7 +231,7 @@ int ipc_chan_sock_accept(struct osmo_fd *bfd, unsigned int flags)
"osmo-trx connects but we already have "
"another active connection ?!?\n");
/* We already have one IPC connected, this is all we support */
state->listen_bfd.when &= ~OSMO_FD_READ;
osmo_fd_read_disable(&state->listen_bfd);
close(rc);
return 0;
}

View File

@@ -84,7 +84,7 @@ int ipc_sock_send(struct msgb *msg)
return -EIO;
}
msgb_enqueue(&state->upqueue, msg);
conn_bfd->when |= OSMO_FD_WRITE;
osmo_fd_write_enable(conn_bfd);
return 0;
}
@@ -102,7 +102,7 @@ void ipc_sock_close(struct ipc_sock_state *state)
osmo_fd_unregister(bfd);
/* re-enable the generation of ACCEPT for new connections */
state->listen_bfd.when |= OSMO_FD_READ;
osmo_fd_read_enable(&state->listen_bfd);
/* flush the queue */
while (!llist_empty(&state->upqueue)) {
@@ -172,7 +172,7 @@ static int ipc_sock_write(struct osmo_fd *bfd)
msg = llist_entry(state->upqueue.next, struct msgb, list);
ipc_prim = (struct ipc_sk_if *)msg->data;
bfd->when &= ~OSMO_FD_WRITE;
osmo_fd_write_disable(bfd);
/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
if (!msgb_length(msg)) {
@@ -189,7 +189,7 @@ static int ipc_sock_write(struct osmo_fd *bfd)
goto close;
if (rc < 0) {
if (errno == EAGAIN) {
bfd->when |= OSMO_FD_WRITE;
osmo_fd_write_enable(bfd);
break;
}
goto close;
@@ -244,7 +244,7 @@ int ipc_sock_accept(struct osmo_fd *bfd, unsigned int flags)
"ip clent connects but we already have "
"another active connection ?!?\n");
/* We already have one IPC connected, this is all we support */
state->listen_bfd.when &= ~OSMO_FD_READ;
osmo_fd_read_disable(&state->listen_bfd);
close(rc);
return 0;
}