Attention is currently required from: osmith, Hoernchen, neels, pespin, fixeria.
2 comments:
File src/core/osmo_io.c:
Patch Set #8, Line 169: llist_add_tail(&msghdr->list, &iofd->tx_queue.msg_queue);
Could be msgb_enqueue_count(), but it can stay this way too.
I had that at first, but msgb_enqueue_count() takes a struct msgb * and derefereces the ->list pointer in msgb_enqueue().
So this would require casting a msghdr * to a msgb * and relying on the fact that the list member is in the same position in both structs which I quite dislike.
File src/core/osmo_io_poll.c:
Patch Set #8, Line 85: if (iofd->closed)
is this the new -EBADF to handle case where recvmsg_cb closes th iofd? What if iofd is freed by recv […]
closed, in_callback, and to_free
Closed is the early-return that prevents the write from being considered when the fd is already closed.
in_callback is set to true while inside this function.
If osmo_iofd_free() is called while in_callback is true then it will only close the fd and defer actually freeing the data and just set to_free to true.
To view, visit change 30934. To unsubscribe, or for help writing mail filters, visit settings.