diff options
author | Max Romanov <max.romanov@nginx.com> | 2020-03-30 14:18:41 +0300 |
---|---|---|
committer | Max Romanov <max.romanov@nginx.com> | 2020-03-30 14:18:41 +0300 |
commit | ab7b42a072e741b226749c416440f89fcaff3d2c (patch) | |
tree | 6f354e73a9cd446cefa80dcb0b466e6ceaa5b025 /src/nxt_unit.c | |
parent | 82b899b1365431951afc1da9b2b30065ac98fc94 (diff) | |
download | unit-ab7b42a072e741b226749c416440f89fcaff3d2c.tar.gz unit-ab7b42a072e741b226749c416440f89fcaff3d2c.tar.bz2 |
Handling change file message in libunit.
This is required for proper log file rotation action.
Diffstat (limited to 'src/nxt_unit.c')
-rw-r--r-- | src/nxt_unit.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/nxt_unit.c b/src/nxt_unit.c index 77e36771..55926431 100644 --- a/src/nxt_unit.c +++ b/src/nxt_unit.c @@ -767,6 +767,16 @@ nxt_unit_process_msg(nxt_unit_ctx_t *ctx, nxt_unit_port_id_t *port_id, case _NXT_PORT_MSG_CHANGE_FILE: nxt_unit_debug(ctx, "#%"PRIu32": change_file: fd %d", port_msg->stream, recv_msg.fd); + + if (dup2(recv_msg.fd, lib->log_fd) == -1) { + nxt_unit_alert(ctx, "#%"PRIu32": dup2(%d, %d) failed: %s (%d)", + port_msg->stream, recv_msg.fd, lib->log_fd, + strerror(errno), errno); + + goto fail; + } + + rc = NXT_UNIT_OK; break; case _NXT_PORT_MSG_MMAP: |