Joseph Ferano
77d6e43b09
The agent binds before main, so a dev program need not start it at all
...
A constructor in the agent package binds FLAN_AGENT_SOCKET when it is set,
which is the daemon and nothing else — both shapes set it, before the fork in
--two-process and before the exec in the merged build. So a program under
[flan dev] that calls (agent/poll) and has no (agent/start) in it takes
redefinitions anyway, and one that does call start meets an agent that is
already listening and gets a no-op.
The window this closes was the complaint in DISCUSS.org: a program that opens
a window before starting its agent leaves the daemon waiting on a socket that
does not exist yet. Bound here, the socket exists before main whatever the
program does afterwards — so test_dev.ml's late-agent row asserts the negation
of what it used to. The delivery sent during the sleep no longer carries "the
program has not called (agent/start ...) yet", because that is no longer true
of it; what is still late, and still asserted, is the poll that installs it.
It reaches exactly as far as the linker does. Reach prunes a package nothing
calls into, so a program that mentions the agent nowhere does not link this
file and has no constructor to run: auto-start is for a program that polls and
has dropped its start call, not for one that says nothing about the agent at
all. That limit and the release-build residual are in FIX.org, along with the
daemon branch that can no longer be reached.
agent-nostart.flan is the pin, and its two numbers are the honest ones: 1
before anything could arrive, 1000 after the wait, because a listener bound
before main is still not an install.
2026-09-20 19:52:34 +07:00
..
2026-09-19 06:41:57 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 19:44:34 +07:00
2026-09-12 14:47:54 +07:00
2026-09-20 19:52:34 +07:00
2026-09-12 10:47:41 +07:00
2026-09-12 05:32:25 +07:00
2026-09-19 05:21:02 +07:00
2026-09-12 10:55:18 +07:00
2026-09-17 20:37:08 +07:00
2026-09-17 20:37:08 +07:00
2026-09-13 22:55:26 +07:00
2026-09-13 23:09:08 +07:00
2026-09-12 21:48:08 +07:00
2026-09-14 07:12:27 +07:00
2026-09-18 07:36:21 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 23:06:40 +07:00
2026-09-12 23:06:40 +07:00
2026-09-12 23:18:28 +07:00
2026-09-17 19:03:27 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 23:06:40 +07:00
2026-09-20 15:00:15 +07:00
2026-09-20 18:02:59 +07:00
2026-09-14 07:12:27 +07:00
2026-09-12 14:47:54 +07:00
2026-09-18 07:31:25 +07:00
2026-09-20 15:36:13 +07:00
2026-09-20 11:06:14 +07:00
2026-09-12 16:22:58 +07:00
2026-09-17 19:03:27 +07:00
2026-09-20 19:52:34 +07:00
2026-09-12 14:47:54 +07:00
2026-09-20 19:44:34 +07:00
2026-09-17 19:50:29 +07:00
2026-09-13 17:55:00 +07:00
2026-09-20 18:32:01 +07:00
2026-09-13 13:07:25 +07:00
2026-09-13 15:27:31 +07:00
2026-09-14 08:11:35 +07:00
2026-09-20 15:14:56 +07:00
2026-09-13 19:43:18 +07:00
2026-09-18 13:47:42 +07:00
2026-09-18 13:47:42 +07:00
2026-09-13 10:35:20 +07:00
2026-09-19 05:55:48 +07:00
2026-09-19 06:33:28 +07:00
2026-09-20 13:54:07 +07:00
2026-09-20 15:36:27 +07:00
2026-09-19 06:40:53 +07:00
2026-09-19 06:12:41 +07:00
2026-09-19 05:52:47 +07:00
2026-09-20 10:36:05 +07:00
2026-09-19 19:44:56 +07:00
2026-09-19 22:53:16 +07:00
2026-09-20 18:46:48 +07:00
2026-09-19 06:06:44 +07:00
2026-09-20 10:51:22 +07:00
2026-09-19 06:59:22 +07:00
2026-09-19 19:44:56 +07:00
2026-09-18 22:50:54 +07:00
2026-09-12 11:36:01 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 09:11:34 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 11:07:57 +07:00
2026-09-12 23:18:28 +07:00
2026-09-17 22:04:48 +07:00
2026-09-20 18:33:05 +07:00
2026-09-12 22:44:33 +07:00
2026-09-12 22:44:33 +07:00
2026-09-12 22:44:33 +07:00
2026-09-12 22:44:33 +07:00
2026-09-19 05:21:02 +07:00
2026-09-19 05:21:02 +07:00
2026-09-14 07:12:27 +07:00
2026-09-12 11:15:58 +07:00
2026-09-13 15:23:37 +07:00
2026-09-13 14:49:11 +07:00
2026-09-18 12:16:05 +07:00
2026-09-19 05:21:02 +07:00
2026-09-19 04:24:52 +07:00
2026-09-19 21:13:03 +07:00
2026-09-19 05:21:02 +07:00
2026-09-19 21:59:11 +07:00
2026-09-20 19:09:26 +07:00
2026-09-13 09:32:58 +07:00
2026-09-19 06:41:57 +07:00
2026-09-19 19:44:56 +07:00
2026-09-20 18:02:59 +07:00
2026-09-12 22:00:13 +07:00
2026-09-12 23:06:40 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-12 23:18:28 +07:00
2026-09-20 18:23:22 +07:00
2026-09-12 23:18:28 +07:00
2026-09-19 05:21:02 +07:00
2026-09-19 05:21:02 +07:00
2026-09-12 16:09:27 +07:00
2026-09-12 16:34:25 +07:00
2026-09-12 23:06:40 +07:00
2026-09-20 13:07:09 +07:00
2026-09-12 23:06:40 +07:00
2026-09-20 07:20:27 +07:00
2026-09-12 04:46:41 +07:00
2026-09-12 16:46:30 +07:00
2026-09-12 16:46:30 +07:00
2026-09-18 22:50:54 +07:00
2026-09-12 16:46:30 +07:00
2026-09-11 20:11:01 +07:00
2026-09-13 15:40:08 +07:00
2026-09-13 17:54:36 +07:00
2026-09-13 15:40:08 +07:00
2026-09-13 15:40:08 +07:00
2026-09-20 18:18:24 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 10:40:47 +07:00
2026-09-12 05:32:25 +07:00
2026-09-11 20:11:01 +07:00
2026-09-11 20:11:01 +07:00
2026-09-12 05:32:25 +07:00
2026-09-20 18:02:59 +07:00
2026-09-20 18:18:24 +07:00
2026-09-12 23:18:28 +07:00
2026-09-12 23:06:40 +07:00
2026-09-14 08:37:30 +07:00
2026-09-13 07:50:03 +07:00
2026-09-12 23:06:40 +07:00
2026-09-13 23:22:37 +07:00
2026-09-13 07:50:03 +07:00
2026-09-12 16:09:48 +07:00
2026-09-13 14:49:11 +07:00
2026-09-13 09:32:58 +07:00
2026-09-18 11:56:22 +07:00
2026-09-14 07:12:27 +07:00
2026-09-14 07:12:27 +07:00
2026-09-19 05:21:02 +07:00
2026-09-17 18:42:01 +07:00
2026-09-17 18:42:01 +07:00
2026-09-12 05:32:25 +07:00
2026-09-12 10:51:14 +07:00
2026-09-14 10:16:42 +07:00
2026-09-17 18:42:01 +07:00
2026-09-17 21:49:40 +07:00
2026-09-12 14:47:54 +07:00
2026-09-20 18:18:20 +07:00
2026-09-20 18:18:20 +07:00
2026-09-13 18:00:35 +07:00
2026-09-13 18:00:35 +07:00
2026-09-12 05:32:25 +07:00
2026-09-12 10:40:47 +07:00
2026-09-17 22:17:19 +07:00
2026-09-12 05:32:25 +07:00
2026-09-13 17:40:59 +07:00
2026-09-19 05:21:02 +07:00
2026-09-12 11:38:24 +07:00
2026-09-12 11:38:24 +07:00
2026-09-20 07:20:27 +07:00
2026-09-12 11:07:57 +07:00
2026-09-19 21:18:57 +07:00
2026-09-12 23:06:40 +07:00
2026-09-19 05:21:02 +07:00
2026-09-20 18:12:45 +07:00
2026-09-13 14:49:11 +07:00
2026-09-20 11:53:37 +07:00
2026-09-17 22:55:30 +07:00
2026-09-17 19:54:32 +07:00
2026-09-12 23:18:28 +07:00
2026-09-12 11:15:58 +07:00
2026-09-19 05:21:02 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 11:07:57 +07:00
2026-09-17 18:42:01 +07:00
2026-09-18 12:16:05 +07:00
2026-09-12 11:07:57 +07:00
2026-09-12 11:07:57 +07:00
2026-09-12 11:12:49 +07:00
2026-09-12 11:07:57 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 11:41:24 +07:00