Annotation of researchv9/jerq/sgs/libsdp/sync.c, revision 1.1

1.1     ! root        1: static char ID[] = "@(#) sync.c: 1.1 3/16/82";
        !             2: #include <stdio.h>
        !             3: #include "sdp.h"
        !             4: #include "define3.h"
        !             5: 
        !             6: #ifdef SHORT
        !             7: #define SY01   "SY01 "
        !             8: #define SY02   "SY02 "
        !             9: #define SY03   "SY03 "
        !            10: #define SY04   "SY04 "
        !            11: #define SY05   "SY05 "
        !            12: #define SYAU   "SYAU "
        !            13: #else
        !            14: #define SY01   "SY01 -- error return from readpage\n%o\n",sp
        !            15: #define SY02   "SY02 -- error return from writeframe\n%o\n",sp
        !            16: #define SY03   "SY03 -- unknown ref/chng flag\n%o\t%d\n",sp,manager[i].ref_chng
        !            17: #define SY04   "SY04 -- error return from wtSPACE\n%o\n",sp
        !            18: #define SY05   "SY05 -- space not connected\n%o\n",sp
        !            19: #define SYAU   "%s","SYAU -- audit failed in sdp_sync\n"
        !            20: #endif
        !            21: 
        !            22: #ifdef SWEET
        !            23: #define PROLOG
        !            24: #define EPILOG
        !            25: #else
        !            26: #define PROLOG         if( (aud_flag == AUDITON) && (aud_check() == ERROR) )\
        !            27:                                ERR_RET(SYAU,ERROR)
        !            28: #define EPILOG         if(aud_flag == AUDITON)\
        !            29:                                aud_set() ;\
        !            30:                        if(hist_fp != NULL)\
        !            31:                                fprintf(hist_fp,"SY\t%o\n",sp) ;
        !            32: #endif
        !            33: 
        !            34: extern int aud_flag ;
        !            35: extern struct SPACE *first_space ;
        !            36: extern struct LIBFILE *Glib_file ;
        !            37: extern FILE *hist_fp ;
        !            38: 
        !            39: extern int aud_check() ;
        !            40: extern aud_set() ;
        !            41: extern FATAL() ;
        !            42: extern int     readpage() ;
        !            43: extern int     wtSPACE() ;
        !            44: 
        !            45: int                                    /* SUCCESS or ERROR */
        !            46: sdp_sync(sp)
        !            47: struct SPACE   *sp ;
        !            48: {
        !            49:        register int             i ;
        !            50:        register struct SPACE   *curr ;
        !            51:        register struct MANAGER *manager ;
        !            52: 
        !            53:        PROLOG
        !            54:        for(curr=first_space; curr!=NULL; curr=curr->next_space)
        !            55:        {
        !            56:                if( (curr==sp) || (sp==NULL) )
        !            57:                {
        !            58:                        Glib_file = curr->lib_file ;
        !            59: 
        !            60:                        manager = (curr->environ)->manp ;
        !            61: 
        !            62:                        for(i=0; i<(curr->environ)->num_frames; i++)
        !            63:                                switch(manager[i].ref_chng)
        !            64:                                {
        !            65:                                        case RNLY:
        !            66:                                                if(readpage(curr,manager[i].page_id,i) == ERROR)
        !            67:                                                        ERR_RET(SY01,ERROR)
        !            68:                                                break ;
        !            69: 
        !            70:                                        case WRTN:
        !            71:                                                if( (curr->perms != WRTN)  ||  (writeframe(curr,i) == ERROR) )
        !            72:                                                        ERR_RET(SY02,ERROR)
        !            73:                                                manager[i].ref_chng = RNLY ;
        !            74:                                                break ;
        !            75: 
        !            76:                                        case RCNULL:
        !            77:                                                break ;
        !            78: 
        !            79:                                        default:
        !            80:                                                ERR_RET(SY03,ERROR)
        !            81:                                                break ;
        !            82: 
        !            83:                                }
        !            84:                        if ((curr->perms == WRTN) && (wtSPACE(curr) == ERROR))
        !            85:                                ERR_RET(SY04,ERROR)
        !            86:                        if(sp == curr)
        !            87:                                break ;
        !            88:                }
        !            89:        }
        !            90:        if( (curr==NULL) && (sp!=NULL) )
        !            91:                ERR_RET(SY04,ERROR)
        !            92:        EPILOG
        !            93:        return(SUCCESS) ;
        !            94: }

unix.superglobalmegacorp.com

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