Kaydet (Commit) b50e1dee authored tarafından Guido van Rossum's avatar Guido van Rossum

Note lack of speedup. Remove Irix reference. Remove silly extra

'/tmp' arg.  Change predicate to look for world-writable non-symlink
files.
üst 5e31c3f7
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment