* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: socket.c,v 1.178.2.2 2001/01/11 20:01:39 bwelling Exp $ */
+/* $Id: socket.c,v 1.178.2.3 2001/02/06 18:10:28 gson Exp $ */
#include <config.h>
addrlen = sizeof dev->newsocket->address.type;
fd = accept(sock->fd, &dev->newsocket->address.type.sa,
(void *)&addrlen);
- dev->newsocket->address.length = addrlen;
if (fd < 0) {
if (SOFT_ERROR(errno)) {
select_poke(sock->manager, sock->fd);
strerror(errno));
result = ISC_R_UNEXPECTED;
+ } else {
+ INSIST(dev->newsocket->address.type.sa.sa_family == sock->pf);
+ dev->newsocket->address.length = addrlen;
+ dev->newsocket->pf = sock->pf;
}
/*