Attention is currently required from: laforge.
arehbein has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/33346 )
Change subject: core/osmo_io: Fix reception of partial packets ......................................................................
Patch Set 1:
(2 comments)
Patchset:
PS1:
I don't really understand this patch (but then I'm not an expert in the new osmo_io code). […]
You're correct, I didn't at first understand the code well enough and thought of maintaining `iofd->pending` parallel to `msg` (in `iofd_poll_ofd_cb_recvmsg_sendmsg()`) in case of an incompletely received message (instead of removing it from the osmo_io fd via ` msg = iofd_msgb_pending_or_alloc(iofd);`).
So my first approach was to maintain the old logic while trying to add new logic in case of having previously received an incompletely read packet, which is why it turned out like this.
File src/core/osmo_io_poll.c:
https://gerrit.osmocom.org/c/libosmocore/+/33346/comment/411d08d3_9fb8bbe9 PS1, Line 59: iofd
IMHO, the unconditional iov_base = msg->tail should do the trick here. […]
Yes thanks, good catch. I changed the patch accordingly.