socket: guarantee order in which sockets are passed to be the one of the configuration file

This commit is contained in:
Lennart Poettering 2011-04-16 03:42:18 +02:00
parent 3d3961f267
commit 49f91047af
2 changed files with 7 additions and 8 deletions

6
TODO
View file

@ -36,12 +36,6 @@ Features:
* use pivot_root on shutdown so that we can unmount the root directory.
* make sure multiple sockets in a .socket file appear in the order they are listed
currently we get:
[Socket]
ListenSequentialPacket=@/org/kernel/udev/udevd --> 4
ListenNetlink=kobject-uevent 1 --> 3
* fix alsa mixer restore to not print error when no config is stored
* show enablement status in systemctl status

View file

@ -198,7 +198,7 @@ static int config_parse_listen(
void *data,
void *userdata) {
SocketPort *p;
SocketPort *p, *tail;
Socket *s;
assert(filename);
@ -255,7 +255,12 @@ static int config_parse_listen(
}
p->fd = -1;
LIST_PREPEND(SocketPort, port, s->ports, p);
if (s->ports) {
LIST_FIND_TAIL(SocketPort, port, s->ports, tail);
LIST_INSERT_AFTER(SocketPort, port, s->ports, tail, p);
} else
LIST_PREPEND(SocketPort, port, s->ports, p);
return 0;
}