diff options
author | Guido van Rossum <guido@python.org> | 2002-10-18 18:20:33 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2002-10-18 18:20:33 (GMT) |
commit | b50e1dee86551ebab3f44b5cbce179546b009f43 (patch) | |
tree | f7c9c46caf5f5d6eee43383de96f19f44114d410 | |
parent | 5e31c3f768cebbcf5c6a0e62b45c4216f153954a (diff) | |
download | cpython-b50e1dee86551ebab3f44b5cbce179546b009f43.zip cpython-b50e1dee86551ebab3f44b5cbce179546b009f43.tar.gz cpython-b50e1dee86551ebab3f44b5cbce179546b009f43.tar.bz2 |
Note lack of speedup. Remove Irix reference. Remove silly extra
'/tmp' arg. Change predicate to look for world-writable non-symlink
files.
-rw-r--r-- | Demo/threads/find.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Demo/threads/find.py b/Demo/threads/find.py index 11fb65a..ab581e3 100644 --- a/Demo/threads/find.py +++ b/Demo/threads/find.py @@ -3,14 +3,16 @@ # This demonstrates the use of a work queue and worker threads. # It really does do more stats/sec when using multiple threads, # although the improvement is only about 20-30 percent. +# (That was 8 years ago. In 2002, on Linux, I can't measure +# a speedup. :-( ) # I'm too lazy to write a command line parser for the full find(1) # command line syntax, so the predicate it searches for is wired-in, # see function selector() below. (It currently searches for files with -# group or world write permission.) +# world write permission.) # Usage: parfind.py [-w nworkers] [directory] ... -# Default nworkers is 4, maximum appears to be 8 (on Irix 4.0.2) +# Default nworkers is 4 import sys @@ -98,7 +100,6 @@ class WorkQ: # Main program def main(): - sys.argv.append("/tmp") nworkers = 4 opts, args = getopt.getopt(sys.argv[1:], '-w:') for opt, arg in opts: @@ -122,8 +123,8 @@ def main(): # Feel free to change this to suit your purpose def selector(dir, name, fullname, stat): - # Look for group or world writable files - return (stat[ST_MODE] & 0022) != 0 + # Look for world writable files that are not symlinks + return (stat[ST_MODE] & 0002) != 0 and not S_ISLNK(stat[ST_MODE]) # The find procedure -- calls wq.addwork() for subdirectories |