confused about option use in session slaves

Scott <[email protected]>
Newsgroups gmane.comp.web.links
Message-ID <[email protected]>
I am confused about the values shown by get_opt_() from the
perspective of a session slave process.  The code base I am
using is GIT snapshot 0.12-20071028.

It appears that only the session master obeys the
configuration values set at runtime or in the configuration
file.  A slave instance which attaches to a master simply
uses the compiled-in default for the option, regardless of
its setting in a configuration file or to changes made to
the option at runtime.  Thus, there appears to be no way the
value known to a slave can change at run-time.

I see that load_config() is only called when the interlink
socket cannot be established, meaning that it is a session
master.  This explains why default values overridden in the
configuration file are not known to the slave processes.

Does this also mean that a slave can never be "promoted" to
a master if the master dies?  Is there a design assumption
that a slave process does not use options itself?  I have
tried killing a master to force promotion and see changed
values with get_opt_ in the debugger, but even if the
(former) slave is now the only process left, it still does
not appear to get the right values from get_opt_() even
though the option manager does appear to show modified
values.

I'm sure I am missing something obvious but I have been
trying to figure this out for a while tonight and at this
point am turning to the list membership for help in
understanding.  I can see that the slaves are intended to be
little more than I/O repeaters between the master process
and a terminal, but it seems that some options would be
worthwhile for slaves to know about as well.

Thank you for any insights.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.