[pg-cvs] Bug in delete-directory-and-files

Leslie P. Polzer sky at viridian-project.de
Sun Aug 16 20:41:53 UTC 2009


Observe:

% ls -Rl /tmp/foo
/tmp/foo:
-rw-r--r-- 1 sky users 4625 1997-11-14 21:04 symlinks_1.2.orig.tar.gz

/tmp/foo/src:
symlinks_1.2.orig.tar.gz -> /tmp/foo/symlinks_1.2.orig.tar.gz


Now when I call delete-directory-and-files on it I get:

debugger invoked on a OSICAT-POSIX:ENOTEMPTY in thread
#<THREAD "initial thread" RUNNING {A9058A1}>:
  #<ENOTEMPTY 39 :ENOTEMPTY "">

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(OSICAT-POSIX:POSIX-ERROR 39 NIL)
0] :ba

0: (OSICAT-POSIX:POSIX-ERROR 39 NIL)
1: (OSICAT-POSIX::SYSCALL-SIGNAL-POSIX-ERROR #<unavailable argument> NIL) 2:
(OSICAT:DELETE-DIRECTORY #P"src/")
3: ((LAMBDA (#:ONE-ITER336)) #<CLOSURE (LABELS OSICAT::ONE-ITER) {AA12545}>) 4:
(OSICAT::CALL-WITH-DIRECTORY-ITERATOR
    #P"/tmp/foo/"
    #<CLOSURE (LAMBDA #) {AA121ED}>)
5: ((LABELS OSICAT::WALK) #P"/tmp/foo/")
6: (OSICAT:WALK-DIRECTORY #P"/tmp/foo/" #<FUNCTION (LAMBDA #) {B815CF5}>)[:EXTERNAL] 7:
(SB-INT:SIMPLE-EVAL-IN-LEXENV
    (OSICAT:DELETE-DIRECTORY-AND-FILES #P"/tmp/foo/")
    #<NULL-LEXENV>)
8: (INTERACTIVE-EVAL (OSICAT:DELETE-DIRECTORY-AND-FILES #P"/tmp/foo/"))[:EXTERNAL] 9:
(SB-ACLREPL::REP-ONE)
10: (SB-ACLREPL::REPL)[:EXTERNAL]
11: ((LAMBDA (SB-ACLREPL::NOPRINT)) NIL)
12: ((LAMBDA ()))
13: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA #) {A98F005}>) 14:
(SB-IMPL::TOPLEVEL-REPL NIL)
15: (SB-IMPL::TOPLEVEL-INIT)
16: ((LABELS SB-IMPL::RESTART-LISP))

A second call finishes without error.

I'm not sure what's the cause for this, but I think
something about the filename is fishy.

    Leslie

-- 
http://www.linkedin.com/in/polzer





More information about the osicat-devel mailing list