Annotation of researchv9/ipc/src/mgrs/svcmgr/main.c, revision 1.1.1.1

1.1       root        1: #include "mgr.h"
                      2: #include <stdio.h>
                      3: #include <signal.h>
                      4: #include <libc.h>
                      5: 
                      6: main(ac, av)
                      7:        int ac;
                      8:        char *av[];
                      9: {
                     10:        chdir("/cs");
                     11:        if (ac==1 || strcmp(av[1], "-d")!=0)
                     12:                init(0);
                     13:        else
                     14:                init(1);
                     15:        logevent("started\n");
                     16:        calls();
                     17: }
                     18: 
                     19: deadbabies()
                     20: {
                     21:        checkkids();
                     22:        signal(SIGCHLD, deadbabies);
                     23: }
                     24: 
                     25: init(debug)
                     26: {
                     27:        register char **e;
                     28:        extern char **environ;
                     29:        extern char **newep;
                     30:        extern char *newenv[];
                     31: 
                     32:        if (!debug)
                     33:                detach("svc");
                     34:        statfiles();
                     35:        readfiles();
                     36:        signal(SIGCHLD, deadbabies);
                     37:        e = environ;
                     38:        newep = newenv;
                     39:        for (; *e; e++)
                     40:                if (strncmp(*e, "TZ=", 3) == 0)
                     41:                        *newep++ = *e;
                     42:        *newep = NULL;
                     43: }
                     44: 
                     45: calls()
                     46: {
                     47:        register Request *rp;
                     48:        Request *listen();
                     49: 
                     50:        for (;;) {
                     51:                rp = listen();
                     52:                if (newproc(rp) == 0)
                     53:                        continue;
                     54:                doreq(rp);
                     55:                exit(1);        /* we shouldn't get here if the request works */
                     56:        }
                     57: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.