chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
core, shared: in deserializing, match same files reached via different paths
[elogind.git]
/
src
/
core
/
socket.c
diff --git
a/src/core/socket.c
b/src/core/socket.c
index 8fa55e0b03a2a2d037d96ce2ea009797f005978e..88aae4815b30da05723d05c91a49e961d0706bfa 100644
(file)
--- a/
src/core/socket.c
+++ b/
src/core/socket.c
@@
-48,6
+48,7
@@
#include "smack-util.h"
#include "bus-util.h"
#include "bus-error.h"
#include "smack-util.h"
#include "bus-util.h"
#include "bus-error.h"
+#include "selinux-util.h"
#include "dbus-socket.h"
#include "unit.h"
#include "socket.h"
#include "dbus-socket.h"
#include "unit.h"
#include "socket.h"
@@
-265,7
+266,7
@@
static int socket_add_device_link(Socket *s) {
if (!s->bind_to_device || streq(s->bind_to_device, "lo"))
return 0;
if (!s->bind_to_device || streq(s->bind_to_device, "lo"))
return 0;
- t = str
append
a("/sys/subsystem/net/devices/", s->bind_to_device);
+ t = str
join
a("/sys/subsystem/net/devices/", s->bind_to_device);
return unit_add_node_link(UNIT(s), t, false);
}
return unit_add_node_link(UNIT(s), t, false);
}
@@
-472,7
+473,7
@@
static void socket_dump(Unit *u, FILE *f, const char *prefix) {
assert(f);
prefix = strempty(prefix);
assert(f);
prefix = strempty(prefix);
- prefix2 = str
append
a(prefix, "\t");
+ prefix2 = str
join
a(prefix, "\t");
fprintf(f,
"%sSocket State: %s\n"
fprintf(f,
"%sSocket State: %s\n"
@@
-1953,7
+1954,7
@@
static int socket_start(Unit *u) {
s->result = SOCKET_SUCCESS;
socket_enter_start_pre(s);
s->result = SOCKET_SUCCESS;
socket_enter_start_pre(s);
- return
0
;
+ return
1
;
}
static int socket_stop(Unit *u) {
}
static int socket_stop(Unit *u) {
@@
-1984,7
+1985,7
@@
static int socket_stop(Unit *u) {
assert(s->state == SOCKET_LISTENING || s->state == SOCKET_RUNNING);
socket_enter_stop_pre(s, SOCKET_SUCCESS);
assert(s->state == SOCKET_LISTENING || s->state == SOCKET_RUNNING);
socket_enter_stop_pre(s, SOCKET_SUCCESS);
- return
0
;
+ return
1
;
}
static int socket_serialize(Unit *u, FILE *f, FDSet *fds) {
}
static int socket_serialize(Unit *u, FILE *f, FDSet *fds) {
@@
-2099,7
+2100,7
@@
static int socket_deserialize_item(Unit *u, const char *key, const char *value,
LIST_FOREACH(port, p, s->ports)
if (p->type == SOCKET_FIFO &&
LIST_FOREACH(port, p, s->ports)
if (p->type == SOCKET_FIFO &&
-
streq_ptr
(p->path, value+skip))
+
path_equal_or_files_same
(p->path, value+skip))
break;
if (p) {
break;
if (p) {
@@
-2118,7
+2119,7
@@
static int socket_deserialize_item(Unit *u, const char *key, const char *value,
LIST_FOREACH(port, p, s->ports)
if (p->type == SOCKET_SPECIAL &&
LIST_FOREACH(port, p, s->ports)
if (p->type == SOCKET_SPECIAL &&
-
streq_ptr
(p->path, value+skip))
+
path_equal_or_files_same
(p->path, value+skip))
break;
if (p) {
break;
if (p) {
@@
-2137,7
+2138,7
@@
static int socket_deserialize_item(Unit *u, const char *key, const char *value,
LIST_FOREACH(port, p, s->ports)
if (p->type == SOCKET_MQUEUE &&
LIST_FOREACH(port, p, s->ports)
if (p->type == SOCKET_MQUEUE &&
- streq
_ptr
(p->path, value+skip))
+ streq(p->path, value+skip))
break;
if (p) {
break;
if (p) {
@@
-2602,10
+2603,6
@@
static void socket_trigger_notify(Unit *u, Unit *other) {
socket_notify_service_dead(s, se->result == SERVICE_FAILURE_START_LIMIT);
if (se->state == SERVICE_DEAD ||
socket_notify_service_dead(s, se->result == SERVICE_FAILURE_START_LIMIT);
if (se->state == SERVICE_DEAD ||
- se->state == SERVICE_STOP ||
- se->state == SERVICE_STOP_SIGTERM ||
- se->state == SERVICE_STOP_SIGKILL ||
- se->state == SERVICE_STOP_POST ||
se->state == SERVICE_FINAL_SIGTERM ||
se->state == SERVICE_FINAL_SIGKILL ||
se->state == SERVICE_AUTO_RESTART)
se->state == SERVICE_FINAL_SIGTERM ||
se->state == SERVICE_FINAL_SIGKILL ||
se->state == SERVICE_AUTO_RESTART)