by Darius Kazemi, May 23 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

Race conditions

RFC-143 is titled “Regarding Proferred Official ICP”. It's authored by William Naylor et al., and dated May 3rd 1971.

The technical content

This RFC points out a race condition in the Initial Connection Protocol. “The problem arises when the server attempts to initiate a second connection to the user's receive socket and the first connection is not yet closed.”

They offer a solution to this race condition that removes a user-level “close” command, instead allowing the user's NCP to solely handle it based on some new prerequisite connection state stuff.

They point out another underspecified condition and recommend that if connection is remotely closed, the local user should be notified of it somehow (either through a message from the remote host, or perhaps by a polling mechanism to the remote host).

There is a snarky comment at the end (okay it's not written snarky but I read it as snark) that if dynamic reconnection as proposed in RFC-36 had been implemented, none of this would be a problem.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with both ActivityPub and the Dat Project. You can support my work via my Patreon.