diff --git a/src/bin/dhcp4/dhcp4_messages.mes b/src/bin/dhcp4/dhcp4_messages.mes index c764b9f44b..b2f9866946 100644 --- a/src/bin/dhcp4/dhcp4_messages.mes +++ b/src/bin/dhcp4/dhcp4_messages.mes @@ -39,12 +39,11 @@ buffer holding the DHCPv4 message. The arguments specify the source and destination IPv4 addresses as well as the interface over which the buffer has been received. -% DHCP4_BUFFER_WAIT_SIGNAL signal received while waiting for next packet, next waiting signal is %1 +% DHCP4_BUFFER_WAIT_SIGNAL signal received while waiting for next packet This debug message is issued when the server was waiting for the packet, but the wait has been interrupted by the signal received by the process. The signal will be handled before the server starts -waiting for next packets. The argument specifies the next signal to -be handled by the server. +waiting for next packets. % DHCP4_CB_ON_DEMAND_FETCH_UPDATES_FAIL error on demand attempt to fetch configuration updates from the configuration backend(s): %1 This error message is issued when the server attempted to fetch diff --git a/src/bin/dhcp4/dhcp4_srv.cc b/src/bin/dhcp4/dhcp4_srv.cc index 15ad3325fd..201f8d6568 100644 --- a/src/bin/dhcp4/dhcp4_srv.cc +++ b/src/bin/dhcp4/dhcp4_srv.cc @@ -990,6 +990,12 @@ Dhcpv4Srv::run_one() { // second. } catch (const SignalInterruptOnSelect&) { + // Packet reception interrupted because a signal has been received. + // This is not an error because we might have received a SIGTERM, + // SIGINT, SIGHUP or SIGCHLD which are handled by the server. For + // signals that are not handled by the server we rely on the default + // behavior of the system. + LOG_DEBUG(packet4_logger, DBG_DHCP4_DETAIL, DHCP4_BUFFER_WAIT_SIGNAL); } catch (const std::exception& e) { // Log all other errors. LOG_ERROR(packet4_logger, DHCP4_BUFFER_RECEIVE_FAIL).arg(e.what()); diff --git a/src/bin/dhcp6/dhcp6_messages.mes b/src/bin/dhcp6/dhcp6_messages.mes index 2ae9dff301..3b37ecf9d4 100644 --- a/src/bin/dhcp6/dhcp6_messages.mes +++ b/src/bin/dhcp6/dhcp6_messages.mes @@ -46,12 +46,11 @@ buffer holding the DHCPv6 message. The arguments specify the source and destination addresses as well as the interface over which the buffer has been received. -% DHCP6_BUFFER_WAIT_SIGNAL signal received while waiting for next packet, next waiting signal is %1 +% DHCP6_BUFFER_WAIT_SIGNAL signal received while waiting for next packet This debug message is issued when the server was waiting for the packet, but the wait has been interrupted by the signal received by the process. The signal will be handled before the server starts -waiting for next packets. The argument specifies the next signal to -be handled by the server. +waiting for next packets. % DHCP6_CB_ON_DEMAND_FETCH_UPDATES_FAIL error on demand attempt to fetch configuration updates from the configuration backend(s): %1 This error message is issued when the server attempted to fetch diff --git a/src/bin/dhcp6/dhcp6_srv.cc b/src/bin/dhcp6/dhcp6_srv.cc index e0f984349b..40a81ef5f9 100644 --- a/src/bin/dhcp6/dhcp6_srv.cc +++ b/src/bin/dhcp6/dhcp6_srv.cc @@ -574,6 +574,12 @@ void Dhcpv6Srv::run_one() { // second. } catch (const SignalInterruptOnSelect&) { + // Packet reception interrupted because a signal has been received. + // This is not an error because we might have received a SIGTERM, + // SIGINT or SIGHUP which are handled by the server. For signals + // that are not handled by the server we rely on the default + // behavior of the system. + LOG_DEBUG(packet6_logger, DBG_DHCP6_DETAIL, DHCP6_BUFFER_WAIT_SIGNAL); } catch (const std::exception& e) { LOG_ERROR(packet6_logger, DHCP6_PACKET_RECEIVE_FAIL).arg(e.what()); } diff --git a/src/lib/asiolink/process_spawn.cc b/src/lib/asiolink/process_spawn.cc index 50c9654a0b..05854c885c 100644 --- a/src/lib/asiolink/process_spawn.cc +++ b/src/lib/asiolink/process_spawn.cc @@ -45,7 +45,7 @@ typedef std::map ProcessStates; /// @brief Implementation of the @c ProcessSpawn class. /// -/// This impl idiom is used by the @c ProcessSpawn in this case to +/// This pimpl idiom is used by the @c ProcessSpawn in this case to /// avoid exposing the internals of the implementation, such as /// custom handling of a SIGCHLD signal, and the conversion of the /// arguments of the executable from the STL container to the array.