Annotation of 42BSD/ingres/source/iutil/dblocks.c, revision 1.1

1.1     ! root        1: # include      <ingres.h>
        !             2: # include      <lock.h>
        !             3: # include      <sccs.h>
        !             4: 
        !             5: SCCSID(@(#)dblocks.c   7.2     5/19/83)
        !             6: 
        !             7: struct lockreq Lock;
        !             8: /*
        !             9:  *     setdbl - set data base lock for either exclusive or shared
        !            10:  *              access.
        !            11:  */
        !            12: setdbl(act, mod)
        !            13: char   act;                    /* type request */
        !            14: char   mod;                    /* mod of lock: = 1 for exclusive, = 2 for shared*/
        !            15: {
        !            16:        register char   *r;
        !            17:        register int    i;
        !            18:        auto    int     ret_val;
        !            19: 
        !            20: #      ifdef xATR1
        !            21:        if ( tTf(28,6) )
        !            22:                printf(" setdbl act=%o md=%o\n", act, mod);
        !            23: #      endif
        !            24:        if (Alockdes < 0)
        !            25:                return (1);
        !            26:        Lock.lract = act;               /* type of request */
        !            27:        Lock.lrtype = T_DB;             /* data base lock */
        !            28:        Lock.lrmod = mod;               /* exclusive or shared */
        !            29:                                        /* zero out rest of key */
        !            30:        r = Lock.lrel;
        !            31:        for (i = 0; i < 8; i++)
        !            32:                *r++ = 0;
        !            33:        i = write(Alockdes, &Lock, KEYSIZE + 3);
        !            34:        read(Alockdes, &ret_val, sizeof (int));
        !            35:        return (ret_val);
        !            36: }
        !            37: /*
        !            38:  *     unldb   - release the data base lock
        !            39:  */
        !            40: unldb()
        !            41: {
        !            42:        register char   *r;
        !            43:        register int    i;
        !            44:        auto    int     ret_val;
        !            45: 
        !            46: #      ifdef xATR1
        !            47:        if (tTf(28, 7))
        !            48:                printf(" unldb\n");
        !            49: #      endif
        !            50:        if (Alockdes < 0)
        !            51:                return (1);
        !            52:        Lock.lract = A_RLS1;            /* release 1 lock */
        !            53:        Lock.lrtype = T_DB;             /* a data base lock*/
        !            54:        r = Lock.lrel;
        !            55:        for (i = 0; i < 8; i++)         /* zero out part of key*/
        !            56:                *r++ = 0;
        !            57:        i = write(Alockdes, &Lock, KEYSIZE + 3);
        !            58:        read(Alockdes, &ret_val, sizeof (int));
        !            59:        return (ret_val);
        !            60: }

unix.superglobalmegacorp.com

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