Re: initdb.c::main() too large
От | Bruce Momjian |
---|---|
Тема | Re: initdb.c::main() too large |
Дата | |
Msg-id | 20121204042453.GB30893@momjian.us обсуждение исходный текст |
Ответ на | Re: initdb.c::main() too large (Andrew Dunstan <andrew@dunslane.net>) |
Список | pgsql-hackers |
On Fri, Nov 30, 2012 at 06:06:39PM -0500, Andrew Dunstan wrote: > > On 11/30/2012 04:45 PM, Bruce Momjian wrote: > >On Thu, Nov 29, 2012 at 11:12:23PM -0500, Bruce Momjian wrote: > >>In looking to add an fsync-only option to initdb, I found its main() > >>function to be 743 lines long, and very hard to understand. > >> > >>The attached patch moves much of that code into separate functions, > >>which will make initdb.c easier to understand, and easier to add an > >>fsync-only option. The original initdb.c author, Andrew Dunstan, has > >>accepted the restructuring, in principle. > >Applied. > > > > Sorry I didn't have time to review this before it was applied. > > A few minor nitpicks: > > * process() is a fairly uninformative function name, not sure what I'd > call it, but something more descriptive. > * the setup_signals_and_umask() call and possibly the final message > section of process() would be better placed back in main() IMNSHO. > * the large statements for setting up the datadir and the xlogdir > should be factored out of process() into their own functions, I > think. That would make it much more readable. Done with the attached patch. I kept the signals in their own function, but moved the umask() call out --- I was not happy mixing those either. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
Вложения
В списке pgsql-hackers по дате отправления: