<matrixBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>EMAIL_NOTIFICATIONS</name><value>jenkins-notifications@lists.osmocom.org laforge@gnumonks.org</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>217619</buildingDurationMillis><executingTimeMillis>217619</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>6421</waitingDurationMillis><waitingTimeMillis>6421</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>4719</buildNumber><marked><SHA1>46e5b638816b8954f6bf96356e7ea7617f91d591</SHA1><branch><SHA1>46e5b638816b8954f6bf96356e7ea7617f91d591</SHA1><name>origin/master</name></branch></marked><revision><SHA1>46e5b638816b8954f6bf96356e7ea7617f91d591</SHA1><branch><SHA1>46e5b638816b8954f6bf96356e7ea7617f91d591</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>3086</buildNumber><marked><SHA1>a42f4a51c09fdc3c4f532ff07b806e26bf7e9fa1</SHA1><branch><SHA1>a42f4a51c09fdc3c4f532ff07b806e26bf7e9fa1</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>a42f4a51c09fdc3c4f532ff07b806e26bf7e9fa1</SHA1><branch><SHA1>a42f4a51c09fdc3c4f532ff07b806e26bf7e9fa1</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>46e5b638816b8954f6bf96356e7ea7617f91d591</SHA1><branch><SHA1>46e5b638816b8954f6bf96356e7ea7617f91d591</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/libosmocore</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#4719</displayName><duration>217619</duration><estimatedDuration>168287</estimatedDuration><fullDisplayName>master-libosmocore #4719</fullDisplayName><id>4719</id><inProgress>false</inProgress><keepLog>false</keepLog><number>4719</number><queueId>61669</queueId><result>SUCCESS</result><timestamp>1773660607412</timestamp><url>https://jenkins.osmocom.org/jenkins/job/master-libosmocore/4719/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/core/osmo_io.c</affectedPath><commitId>68b7b0b31aac20b684cc4ffe46c708ae691b387d</commitId><timestamp>1773660438000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pespin</absoluteUrl><fullName>Pau Espin Pedrol</fullName></author><authorEmail>pespin@sysmocom.de</authorEmail><comment>osmo_io: Rewrite iofd_handle_send_completion() to fix multiple issues

Previous implementation had multiple issues, which this patch addresses:
* Didn't call user cb updating completed bytes for a given msg which had
  a partial write.
* rc checks against "Incomplete write" were wrong, because rc was not
  being decremented with previous msgs idxs being processed.
* Didn't take into account the write(0, fd, buf) = 0 valid user case for
  regular files.

The rewrite also simplifies the logic by splitting the "rc &lt; 0" (error) paths
from the "rc &gt;= 0" (successful) paths.

Related: SYS#7842
Change-Id: Ia016e4df7be5e534a8212f7271caff9779e08eb1
</comment><date>2026-03-16 11:27:18 +0000</date><id>68b7b0b31aac20b684cc4ffe46c708ae691b387d</id><msg>osmo_io: Rewrite iofd_handle_send_completion() to fix multiple issues</msg><path><editType>edit</editType><file>src/core/osmo_io.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/core/osmo_io.c</affectedPath><commitId>46e5b638816b8954f6bf96356e7ea7617f91d591</commitId><timestamp>1773660438000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pespin</absoluteUrl><fullName>Pau Espin Pedrol</fullName></author><authorEmail>pespin@sysmocom.de</authorEmail><comment>osmo_io: Fix msgb memleak if iofd is unregistered during write_cb with &gt;1 io buffers

The msgbs are not allocated under the msghdr, hence if user unregistered
the iofd we need to manually free all remaining msgbs when freeing the
msghdr.

Change-Id: I579bc2142bba02947021c47d94bf2fe4f2040b01
</comment><date>2026-03-16 11:27:18 +0000</date><id>46e5b638816b8954f6bf96356e7ea7617f91d591</id><msg>osmo_io: Fix msgb memleak if iofd is unregistered during write_cb with</msg><path><editType>edit</editType><file>src/core/osmo_io.c</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pespin</absoluteUrl><fullName>Pau Espin Pedrol</fullName></culprit><run><number>475</number><url>https://jenkins.osmocom.org/jenkins/job/master-libosmocore/a2=default,a3=default,arch=amd64,label=osmocom-master-debian9/475/</url></run><run><number>475</number><url>https://jenkins.osmocom.org/jenkins/job/master-libosmocore/a2=default,a3=default,arch=arm-none-eabi,label=osmocom-master-debian9/475/</url></run><run><number>4719</number><url>https://jenkins.osmocom.org/jenkins/job/master-libosmocore/a2=default,a3=default,a4=default,arch=amd64,label=io_uring/4719/</url></run><run><number>4719</number><url>https://jenkins.osmocom.org/jenkins/job/master-libosmocore/a2=default,a3=default,a4=default,arch=arm-none-eabi,label=io_uring/4719/</url></run></matrixBuild>