]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] uml: rename and improve actually_do_remove()
authorPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Sat, 1 Jul 2006 11:36:24 +0000 (04:36 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 1 Jul 2006 16:56:03 +0000 (09:56 -0700)
commit0d0c175392adb7bc4363b49dbebdce0fcf55b62d
tree14592f5cb45c8d4f4dace422b5deb98e9a9d5574
parentc13525a71cb02c3b05fcea775ba55b7843757517
[PATCH] uml: rename and improve actually_do_remove()

Rename actually_do_remove() to remove_files_and_dir(), make it call
closedir(), make it ignore ENOENT (I see it frequently enough).

ENOENT is probably due to multiple threads calling the exitcall functions
together*, but fixing that is non-trivial; and ignoring it is perfectly ok
in any case.

* it can surely happen: last_ditch_exit() is installed as SIGTERM handler
  at boot, and it's not removed on thread creation.  So killall vmlinux
  (which I do) surely causes that.  I've seen also a crash which seems to
  do the same.

Installing the handler on only the main thread would make UML do no cleanup
when another thread exits, and we're not sure we want that.  And mutual
exclusion in that context is tricky - we can't use spinlock in code not on
a kernel stack (spinlock debugging uses "current" a lot).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/um/os-Linux/umid.c