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

1.1     ! root        1: static char ID[] = "@(#) fault.c: 1.1 3/16/82";
        !             2: #include "sdp.h"
        !             3: #include "define3.h"
        !             4: 
        !             5: #ifdef SHORT
        !             6: #define FA01   "FA01 "
        !             7: #define FA02   "FA02 "
        !             8: #define FA03   "FA03 "
        !             9: #define FA04   "FA04 "
        !            10: #else
        !            11: #define FA01   "%s","FA01 -- error return from nextsearch\n"
        !            12: #define FA02   "%s","FA02 -- error return from writeframe\n"
        !            13: #define FA03   "FA03 -- unknown ref/change value\n%d\t%o\t%d\n",manager[frame].ref_chng,sp,frame
        !            14: #define FA04   "%s","FA04 -- error return from readpage\n"
        !            15: #endif
        !            16: 
        !            17: extern FATAL() ;
        !            18: extern struct LIBFILE *Glib_file ;
        !            19: extern nextsearch() ;
        !            20: extern readpage() ;
        !            21: extern writeframe() ;
        !            22: 
        !            23: int                                    /* frame number of ERROR */
        !            24: fault(sp,id)
        !            25: struct SPACE   *sp ;
        !            26: ITEMID         id ;
        !            27: {
        !            28:        register int            frame ;
        !            29:        register struct MANAGER *manager ;
        !            30: 
        !            31:        id -= id % (sp->environ)->frame_size ;
        !            32:        if( (frame = nextsearch(sp->environ)) == NOTFOUND)
        !            33:                ERR_RET(FA01,ERROR)
        !            34: 
        !            35:        manager = (sp->environ)->manp ;
        !            36:        switch(manager[frame].ref_chng)
        !            37:        {
        !            38:                case WRTN:
        !            39:                        if(writeframe(manager[frame].space,frame) == ERROR)
        !            40:                                ERR_RET(FA02,ERROR)
        !            41: 
        !            42:                case RCNULL:
        !            43:                case RNLY:
        !            44:                        break ;
        !            45: 
        !            46:                default:
        !            47:                        ERR_RET(FA03,ERROR)
        !            48:                        break ;
        !            49:        }
        !            50: 
        !            51:        if(readpage(sp,id,frame) == ERROR)
        !            52:                ERR_RET(FA04,ERROR)
        !            53: 
        !            54:        manager[frame].space = sp ;
        !            55:        manager[frame].page_id = id ;
        !            56: 
        !            57:        return(frame) ;
        !            58: }

unix.superglobalmegacorp.com

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