----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/7173/ -----------------------------------------------------------
Review request for qpid and Alan Conway. Description ------- The C++ qpidd broker gets wedged in command line processing during errors. When a parse processing element throws then the exception message printed suggests to use --help. But at that point --help will never work as the code to print help is bypassed by try/catch program flow. This is a customer frustration issue as adding --help like the error message suggests still prints no help message. This patch promotes the CLI --version,-v and --help,-h switches to a higher level. * If --version is present then the version number is printed and the broker exits. The CLI args are scanned but not checked for validity. * If --help is present then a flag is set. During later processing when a processing element throws then the catch block can know to print help before it passes the exception along. The patch checks for --version and --help in the CLI only. Having those switches set in environment variables or the config file are a degenerate cases. The command line is parsed multiple times during broker startup. Failures early on will print usage messages different from usage messages that happen after modules are loaded. This patch does not rely on any boost::program_options features that are not already in use. This addresses bug QPID-3500. https://issues.apache.org/jira/browse/QPID-3500 Diffs ----- trunk/qpid/cpp/include/qpid/Options.h 1387614 trunk/qpid/cpp/src/posix/QpiddBroker.cpp 1387614 trunk/qpid/cpp/src/qpid/Options.cpp 1387614 trunk/qpid/cpp/src/qpidd.h 1387614 trunk/qpid/cpp/src/qpidd.cpp 1387614 trunk/qpid/cpp/src/windows/QpiddBroker.cpp 1387614 Diff: https://reviews.apache.org/r/7173/diff/ Testing ------- Passes make test. Compiles and passes on Windows. Thanks, Chug Rolke