chiark / gitweb /
units: enable sysctl by default
[elogind.git] / src / socket.c
index fd975fd99b92cd4d7d66da22af4b93002aeebaa0..aacf9bed9f1f50f106db3cd78b322461fc689ef8 100644 (file)
@@ -385,7 +385,7 @@ static void socket_dump(Unit *u, FILE *f, const char *prefix) {
                 prefix, s->directory_mode,
                 prefix, yes_no(s->keep_alive),
                 prefix, yes_no(s->free_bind),
-                prefix, s->tcp_congestion);
+                prefix, strna(s->tcp_congestion));
 
         if (s->control_pid > 0)
                 fprintf(f,
@@ -634,7 +634,13 @@ static void socket_apply_socket_options(Socket *s, int fd) {
                 int r, x;
 
                 r = setsockopt(fd, IPPROTO_IP, IP_TTL, &s->ip_ttl, sizeof(s->ip_ttl));
-                x = setsockopt(fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &s->ip_ttl, sizeof(s->ip_ttl));
+
+                if (socket_ipv6_is_supported())
+                        x = setsockopt(fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &s->ip_ttl, sizeof(s->ip_ttl));
+                else {
+                        x = -1;
+                        errno = EAFNOSUPPORT;
+                }
 
                 if (r < 0 && x < 0)
                         log_warning("IP_TTL/IPV6_UNICAST_HOPS failed: %m");
@@ -1167,7 +1173,7 @@ static void socket_enter_running(Socket *s, int cfd) {
 
         /* We don't take connections anymore if we are supposed to
          * shut down anyway */
-        if (s->meta.job && s->meta.job->type == JOB_STOP) {
+        if (unit_pending_inactive(UNIT(s))) {
                 if (cfd >= 0)
                         close_nointr_nofail(cfd);
                 else  {