Commit 2f11d5e1 authored by Ted Lemon's avatar Ted Lemon
Browse files

- Set the SO_REUSEADDR flag when creating sockets.

- Fix an uninitialized pointer bug.
parent 8ec6b426
......@@ -30,6 +30,7 @@ isc_result_t omapi_connect (omapi_object_t *c,
int hix;
isc_result_t status;
omapi_connection_object_t *obj;
int flag;
obj = (omapi_connection_object_t *)malloc (sizeof *obj);
if (!obj)
......@@ -89,6 +90,15 @@ isc_result_t omapi_connect (omapi_object_t *c,
return ISC_R_NORESOURCES;
return ISC_R_UNEXPECTED;
}
/* Set the SO_REUSEADDR flag (this should not fail). */
flag = 1;
if (setsockopt (obj -> socket, SOL_SOCKET, SO_REUSEADDR,
(char *)&flag, sizeof flag) < 0) {
omapi_object_dereference ((omapi_object_t **)&obj,
"omapi_connect");
return ISC_R_UNEXPECTED;
}
/* Try to connect to the one IP address we were given, or any of
the IP addresses listed in the host's A RR. */
......@@ -225,6 +235,7 @@ int omapi_connection_writefd (omapi_object_t *h)
omapi_connection_object_t *c;
if (h -> type != omapi_type_connection)
return -1;
c = (omapi_connection_object_t *)h;
if (c -> out_bytes)
return c -> socket;
else
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment