title TMPKIL -- Kill files on .TEMP. directory a=1 b=2 c=3 d=4 e=5 t=6 tt=7 sp=17 p==sp ;to make DATIME > happy dski=10 .insrt SYSENG;FSDEFS > .insrt RWK;SYSCAL > datime"$$ABS==1 ;include routines for absoulute time .insrt SYSENG;DATIME > pdl: -20,,. block 20 dir: block 2000 dirend: go: .close 1, ;runs as demon on system startup move sp,pdl ;initialize the PDL skipn expire ;is this simply an old-file reap? jrst dirget ; yes, don't bother with the time call datime"timget ;get the time camn a,[-1] ;is the time unknown? .logout 1, ; yes, don't do anything! movn b,expire ;get expiration period call datime"timadd ;that time ago dirget: syscal open,[cnti .uii ;read in the directory in image mode argi dski [sixbit /DSK/] [sixbit /.FILE./] [sixbit /(DIR)/] [sixbit /.TEMP./]] .lose %lsfil move t,[444400,,dir] ;read in the directory movei tt,2000 ;(all 1k of it) syscal siot,[argi dski ? t ? tt] .lose %lsfil .close dski, move d,udnamp+dir ;get relative loc of name section addi d,dir ;make it absolute chkfil: cail d,dirend ;is it the end? jrst [skipn debug ;debugging? .logout 1, ;all done, log out .value ;must be debuging! jrst .] move tt,unrndm(d) ;get flag word tlnn tt,unreap ;is it not to be reaped? tlne tt,unigfl ; or otherwise ignored? jrst nxtfil ; yes, skip it ;reap skipe expire ; are we expiring old ones only? camle a,undate(d) ; yes, is it new? caia ; no, gobble it down jrst nxtfil ; yes, skip it! ;; Here we have found a file which does not have it's don't-reap bit ;; on and is not to be ignored. Therefore we should delete it syscal delete,[[sixbit /DSK/] unfn1(d) ;FN1 from directory unfn2(d) ;FN2 from directory [sixbit /.TEMP./]] jrst [skipn debug ;huh? must of gone away by itself? jrst nxtfil ; so ignore it .value ;debuging, so let's notice the fact jrst nxtfil] ;but continue nxtfil: addi d,lunblk jrst chkfil vrsadr: .fnam1 .fnam2 debug: 0 expire: 0 ;if nonzero, this is EXPIRE so only delete ;files older than this many seconds ago. second==1 minute==60.*second hour=60.*minute day=24.*hour week=7.*day month=30.*day end go