- Rrror out clearly on most allocation failures (the others will simply
segfault). Avoid getting into weird program conditions in case some
operations fail.
- Improve organization of main(), no function pointer usage should be
necessary.
- Make main thread also a worker thread: avoid leaving a useless thread
around simply waiting for others to complete. Also means one less
thread to launch.
- also fix threadings bugs: threads could leak (if the join loop exited
due to some error) or non existent threads could be joined (we add the
created struct member to avoid this)
Can delete a sequence of files of directories in the command line, no
recursion yet.
Assumes remove(3) is fast and reasonable:
unlink(); if (errno==EISDIR) rmdir();