Added SILC Thread Queue API
[silc.git] / lib / silcutil / silcnet.c
index 027d70891bb86c623fd382c9bd2ae5b821128e4d..edd982a6ccfed5b7e50bc2c42320835c5002b9e2 100644 (file)
@@ -94,6 +94,7 @@ int silc_net_accept_connection(int sock)
   int ret = accept(sock, 0, 0);
   if (ret < 0)
     silc_set_errno_posix(errno);
+  return ret;
 }
 
 /* Sets a option for a socket. */
@@ -103,6 +104,7 @@ int silc_net_set_socket_opt(int sock, int level, int option, int on)
   int ret = setsockopt(sock, level, option, (void *)&on, sizeof(on));
   if (ret < 0)
     silc_set_errno_posix(errno);
+  return ret;
 }
 
 /* Get socket options */
@@ -113,6 +115,7 @@ int silc_net_get_socket_opt(int sock, int level, int option,
   int ret = getsockopt(sock, level, option, optval, opt_len);
   if (ret < 0)
     silc_set_errno_posix(errno);
+  return ret;
 }
 
 /* Checks whether IP address sent as argument is valid IPv4 address. */
@@ -297,6 +300,11 @@ void silc_net_gethostbyname_async(const char *name,
 {
   SilcNetResolveContext r = silc_calloc(1, sizeof(*r));
 
+  if (!schedule) {
+    schedule = silc_schedule_get_global();
+    SILC_VERIFY(schedule);
+  }
+
   r->completion = completion;
   r->context = context;
   r->prefer_ipv6 = prefer_ipv6;
@@ -353,6 +361,11 @@ void silc_net_gethostbyaddr_async(const char *addr,
 {
   SilcNetResolveContext r = silc_calloc(1, sizeof(*r));
 
+  if (!schedule) {
+    schedule = silc_schedule_get_global();
+    SILC_VERIFY(schedule);
+  }
+
   r->completion = completion;
   r->context = context;
   r->schedule = schedule;