From: Guido van Rossum <guido@python.org>
Date: Fri, 18 Oct 2002 18:20:33 +0000 (+0000)
Subject: Note lack of speedup.  Remove Irix reference.  Remove silly extra
X-Git-Tag: v2.3c1~3720
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b50e1dee86551ebab3f44b5cbce179546b009f43;p=python

Note lack of speedup.  Remove Irix reference.  Remove silly extra
'/tmp' arg.  Change predicate to look for world-writable non-symlink
files.
---

diff --git a/Demo/threads/find.py b/Demo/threads/find.py
index 11fb65aada..ab581e3473 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