#| This needs ~/gopher/cgi-bin/.lck with chmod go+w and a READable starting number in ~/gopher/cgi-bin/.counter with chmod go+wr (and ~/gopher/cgi-bin/counter with chmod go+rx ) |# (defpackage counter) (in-package counter) (handler-case (with-open-file (lock ".lck" :direction :output) (let ((number (1+ (with-open-file (in #p".counter" :direction :input) (read in))))) (format t "WelCOM to our ~:R lucky visitor~%" number) (with-open-file (out #p".counter" :direction :output :if-exists :supersede) (prin1 number out)))) (t (e) (format t "I'm upset about ~a~%" e))) (ext:quit)