Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 912ff85b authored by Mike Lockwood's avatar Mike Lockwood
Browse files

init: Add support for SOCK_SEQPACKET socket type



Change-Id: Ib264ecf9beb2685b070436d2bdec9655c7a31b47
Signed-off-by: default avatarMike Lockwood <lockwood@android.com>
parent 2f7b72f9
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -206,9 +206,10 @@ void service_start(struct service *svc, const char *dynamic_args)
            add_environment(ei->name, ei->value);

        for (si = svc->sockets; si; si = si->next) {
            int s = create_socket(si->name,
                                  !strcmp(si->type, "dgram") ? 
                                  SOCK_DGRAM : SOCK_STREAM,
            int socket_type = (
                    !strcmp(si->type, "stream") ? SOCK_STREAM :
                        (!strcmp(si->type, "dgram") ? SOCK_DGRAM : SOCK_SEQPACKET));
            int s = create_socket(si->name, socket_type,
                                  si->perm, si->uid, si->gid);
            if (s >= 0) {
                publish_socket(si->name, s);
+3 −2
Original line number Diff line number Diff line
@@ -587,8 +587,9 @@ static void parse_line_service(struct parse_state *state, int nargs, char **args
            parse_error(state, "socket option requires name, type, perm arguments\n");
            break;
        }
        if (strcmp(args[2],"dgram") && strcmp(args[2],"stream")) {
            parse_error(state, "socket type must be 'dgram' or 'stream'\n");
        if (strcmp(args[2],"dgram") && strcmp(args[2],"stream")
                && strcmp(args[2],"seqpacket")) {
            parse_error(state, "socket type must be 'dgram', 'stream' or 'seqpacket'\n");
            break;
        }
        si = calloc(1, sizeof(*si));
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ setenv <name> <value>

socket <name> <type> <perm> [ <user> [ <group> ] ]
   Create a unix domain socket named /dev/socket/<name> and pass
   its fd to the launched process.  <type> must be "dgram" or "stream".
   its fd to the launched process.  <type> must be "dgram", "stream" or "seqpacket".
   User and group default to 0.

user <username>