post-sysv:
I still remain convinced that crash-only software was a key insight of Erlang, engineering systems so that restarts to a known good state is feasible in of itself because components are discrete and trying to intervene on internal program state becomes an exponential nightmare.

As someone who designs abort-and-restart-clean into systems, I would agree ... were it not for my own direct experiences with RabbitMQ server. (-:

Perhaps it's not Erlang's greatest advertisement. Of course, being fair I note that the hidden internal Erlang "processes" probably were crashing quite happily. But the UNIX process in one particular experience couldn't be persuaded to. The thing would not shut down.

post-sysv:
NetworkState is defined as any non-loopback device having an IP(v4/v6) address assigned to it, [...]

I suspect that the reality is more complex than the doco, here. Link-local addresses complicate such criteria. And that's just for starters.

post-sysv:
This might have been useful in your scenario, [...]

Not really. The thorny question of "What do you clearly and precisely mean by '$networking is up'?" wasn't the problem, fortunately. The problem was the surprising behaviour of the GNU libc DNS client library over a loopback interface, when the system generates those ICMP unreachable responses *immediately*.

Reply via email to