This fixes a bug where 'dhclient' would have shared library dependencies
on '/usr/lib'. [ISC-Bugs #21967]
+- Handle pipe failures more gracefully. Some OSes pass a SIGPIPE
+ signal to a process and will kill the process if the signal isn't
+ caught. This patch adds code to turn off the SIGPIPE signal via
+ a setsockopt() call. The signal is already being ignored as part
+ of the ISC library. [ISC-Bugs #22269]
+
Changes since 4.2.0rc1
- Documentation cleanup covering multiple tickets
return ISC_R_UNEXPECTED;
}
+#ifdef SO_NOSIGPIPE
+ /*
+ * If available stop the OS from killing our
+ * program on a SIGPIPE failure
+ */
+ flag = 1;
+ if (setsockopt(obj->socket, SOL_SOCKET, SO_NOSIGPIPE,
+ (char *)&flag, sizeof(flag)) < 0) {
+ omapi_connection_dereference (&obj, MDL);
+ return ISC_R_UNEXPECTED;
+ }
+#endif
+
status = (omapi_register_io_object
((omapi_object_t *)obj,
0, omapi_connection_writefd,