nghttpx: Use ImmutableString for pid_file
This commit is contained in:
parent
2b707bff27
commit
76a425226f
10
src/shrpx.cc
10
src/shrpx.cc
|
@ -199,18 +199,18 @@ int chown_to_running_user(const char *path) {
|
|||
|
||||
namespace {
|
||||
void save_pid() {
|
||||
std::ofstream out(get_config()->pid_file.get(), std::ios::binary);
|
||||
std::ofstream out(get_config()->pid_file.c_str(), std::ios::binary);
|
||||
out << get_config()->pid << "\n";
|
||||
out.close();
|
||||
if (!out) {
|
||||
LOG(ERROR) << "Could not save PID to file " << get_config()->pid_file.get();
|
||||
LOG(ERROR) << "Could not save PID to file " << get_config()->pid_file;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (get_config()->uid != 0) {
|
||||
if (chown_to_running_user(get_config()->pid_file.get()) == -1) {
|
||||
if (chown_to_running_user(get_config()->pid_file.c_str()) == -1) {
|
||||
auto error = errno;
|
||||
LOG(WARN) << "Changing owner of pid file " << get_config()->pid_file.get()
|
||||
LOG(WARN) << "Changing owner of pid file " << get_config()->pid_file
|
||||
<< " failed: " << strerror(error);
|
||||
}
|
||||
}
|
||||
|
@ -946,7 +946,7 @@ int event_loop() {
|
|||
redirect_stderr_to_errorlog();
|
||||
}
|
||||
|
||||
if (get_config()->pid_file) {
|
||||
if (!get_config()->pid_file.empty()) {
|
||||
save_pid();
|
||||
}
|
||||
|
||||
|
|
|
@ -1728,7 +1728,7 @@ int parse_config(const char *opt, const char *optarg,
|
|||
|
||||
return 0;
|
||||
case SHRPX_OPTID_PID_FILE:
|
||||
mod_config()->pid_file = strcopy(optarg);
|
||||
mod_config()->pid_file = optarg;
|
||||
|
||||
return 0;
|
||||
case SHRPX_OPTID_USER: {
|
||||
|
|
|
@ -581,7 +581,7 @@ struct Config {
|
|||
TLSConfig tls;
|
||||
LoggingConfig logging;
|
||||
ConnectionConfig conn;
|
||||
std::unique_ptr<char[]> pid_file;
|
||||
ImmutableString pid_file;
|
||||
std::unique_ptr<char[]> conf_path;
|
||||
std::unique_ptr<char[]> user;
|
||||
std::unique_ptr<char[]> mruby_file;
|
||||
|
|
Loading…
Reference in New Issue