Handle options_act_reversible() in new config system.
Our new configuration system needs to handle options_act_reversible too.
But on further examination, there are only two actual "reversible" pieces of options_act_reversible:
- Adjusting the logs.
- Adjusting the listeners.
The remainder of the function is all about handling "irreversible", immutable options that need to be handled before we can mess with the logs or listeners.
I think this means that we want to split this function into two pieces: one part that handles startup-only initialization, and one that handles truly reversible option changes.
I think that the callback for the startup-only initialization should be called options_set_init(), options_set_onece(), options_set_early(), or something like that.
The callbacks for truly reversible options should look something like this:
int act_reversible(const void *old_options, void *new_options, void **transaction_state_out);
int commit(const void *old_options, void *new_options, void *transaction_state);
int rollback(const void *old_options, void *rejected_options, void *transaction_state);