Mercurial > cpython-lru_cache-weakref
annotate Lib/multiprocessing/__init__.py @ 79675:c0a2294de787 2.7
Issue #16199: Backport 2to3 typo fix from 3.2.
| author | Chris Jerdonek <chris.jerdonek@gmail.com> |
|---|---|
| date | Thu, 11 Oct 2012 16:15:46 -0700 |
| parents | 86e3943d0d5b |
| children |
| rev | line source |
|---|---|
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
1 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
2 # Package analogous to 'threading.py' but using processes |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
3 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
4 # multiprocessing/__init__.py |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
5 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
6 # This package is intended to duplicate the functionality (and much of |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
7 # the API) of threading.py but uses processes instead of threads. A |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
8 # subpackage 'multiprocessing.dummy' has the same API but is a simple |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
9 # wrapper for 'threading'. |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
10 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
11 # Try calling `multiprocessing.doc.main()` to read the html |
|
72984
86e3943d0d5b
Remove duplication.
Ezio Melotti <ezio.melotti@gmail.com>
parents:
68596
diff
changeset
|
12 # documentation in a webbrowser. |
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
13 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
14 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
15 # Copyright (c) 2006-2008, R Oudkerk |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
16 # All rights reserved. |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
17 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
18 # Redistribution and use in source and binary forms, with or without |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
19 # modification, are permitted provided that the following conditions |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
20 # are met: |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
21 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
22 # 1. Redistributions of source code must retain the above copyright |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
23 # notice, this list of conditions and the following disclaimer. |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
24 # 2. Redistributions in binary form must reproduce the above copyright |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
25 # notice, this list of conditions and the following disclaimer in the |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
26 # documentation and/or other materials provided with the distribution. |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
27 # 3. Neither the name of author nor the names of any contributors may be |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
28 # used to endorse or promote products derived from this software |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
29 # without specific prior written permission. |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
30 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
31 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
32 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
33 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
34 # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
35 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
36 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
37 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
38 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
39 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
40 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
|
66887
9ac8699d88d6
Merged revisions 87225 via svnmerge from
R. David Murray <rdmurray@bitdance.com>
parents:
65856
diff
changeset
|
41 # SUCH DAMAGE. |
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
42 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
43 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
44 __version__ = '0.70a1' |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
45 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
46 __all__ = [ |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
47 'Process', 'current_process', 'active_children', 'freeze_support', |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
48 'Manager', 'Pipe', 'cpu_count', 'log_to_stderr', 'get_logger', |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
49 'allow_connection_pickling', 'BufferTooShort', 'TimeoutError', |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
50 'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 'Condition', |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
51 'Event', 'Queue', 'JoinableQueue', 'Pool', 'Value', 'Array', |
|
52526
05f90cecb2a2
Merged revisions 68915 via svnmerge from
Jesse Noller <jnoller@gmail.com>
parents:
50004
diff
changeset
|
52 'RawValue', 'RawArray', 'SUBDEBUG', 'SUBWARNING', |
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
53 ] |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
54 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
55 __author__ = 'R. Oudkerk (r.m.oudkerk@gmail.com)' |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
56 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
57 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
58 # Imports |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
59 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
60 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
61 import os |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
62 import sys |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
63 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
64 from multiprocessing.process import Process, current_process, active_children |
|
52526
05f90cecb2a2
Merged revisions 68915 via svnmerge from
Jesse Noller <jnoller@gmail.com>
parents:
50004
diff
changeset
|
65 from multiprocessing.util import SUBDEBUG, SUBWARNING |
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
66 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
67 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
68 # Exceptions |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
69 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
70 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
71 class ProcessError(Exception): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
72 pass |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
73 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
74 class BufferTooShort(ProcessError): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
75 pass |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
76 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
77 class TimeoutError(ProcessError): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
78 pass |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
79 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
80 class AuthenticationError(ProcessError): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
81 pass |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
82 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
83 # This is down here because _multiprocessing uses BufferTooShort |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
84 import _multiprocessing |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
85 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
86 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
87 # Definitions not depending on native semaphores |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
88 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
89 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
90 def Manager(): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
91 ''' |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
92 Returns a manager associated with a running server process |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
93 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
94 The managers methods such as `Lock()`, `Condition()` and `Queue()` |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
95 can be used to create shared objects. |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
96 ''' |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
97 from multiprocessing.managers import SyncManager |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
98 m = SyncManager() |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
99 m.start() |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
100 return m |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
101 |
|
48931
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
102 def Pipe(duplex=True): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
103 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
104 Returns two connection object connected by a pipe |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
105 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
106 from multiprocessing.connection import Pipe |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
107 return Pipe(duplex) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
108 |
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
109 def cpu_count(): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
110 ''' |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
111 Returns the number of CPUs in the system |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
112 ''' |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
113 if sys.platform == 'win32': |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
114 try: |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
115 num = int(os.environ['NUMBER_OF_PROCESSORS']) |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
116 except (ValueError, KeyError): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
117 num = 0 |
|
50004
3c7eef187bea
Merged revisions 67398,67423-67424,67432,67440-67441,67444-67445,67454,67457,67463 via svnmerge from
Georg Brandl <georg@python.org>
parents:
48931
diff
changeset
|
118 elif 'bsd' in sys.platform or sys.platform == 'darwin': |
|
68596
b8f280d0cdbf
Issue #11569: use absolute path to the sysctl command in multiprocessing to
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66887
diff
changeset
|
119 comm = '/sbin/sysctl -n hw.ncpu' |
|
b8f280d0cdbf
Issue #11569: use absolute path to the sysctl command in multiprocessing to
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66887
diff
changeset
|
120 if sys.platform == 'darwin': |
|
b8f280d0cdbf
Issue #11569: use absolute path to the sysctl command in multiprocessing to
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66887
diff
changeset
|
121 comm = '/usr' + comm |
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
122 try: |
|
68596
b8f280d0cdbf
Issue #11569: use absolute path to the sysctl command in multiprocessing to
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
66887
diff
changeset
|
123 with os.popen(comm) as p: |
|
65856
206ded943534
Merged revisions 86077 via svnmerge from
Brian Curtin <brian.curtin@gmail.com>
parents:
58536
diff
changeset
|
124 num = int(p.read()) |
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
125 except ValueError: |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
126 num = 0 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
127 else: |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
128 try: |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
129 num = os.sysconf('SC_NPROCESSORS_ONLN') |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
130 except (ValueError, OSError, AttributeError): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
131 num = 0 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
132 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
133 if num >= 1: |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
134 return num |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
135 else: |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
136 raise NotImplementedError('cannot determine number of cpus') |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
137 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
138 def freeze_support(): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
139 ''' |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
140 Check whether this is a fake forked process in a frozen executable. |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
141 If so then run code specified by commandline and exit. |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
142 ''' |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
143 if sys.platform == 'win32' and getattr(sys, 'frozen', False): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
144 from multiprocessing.forking import freeze_support |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
145 freeze_support() |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
146 |
|
48931
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
147 def get_logger(): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
148 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
149 Return package logger -- if it does not already exist then it is created |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
150 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
151 from multiprocessing.util import get_logger |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
152 return get_logger() |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
153 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
154 def log_to_stderr(level=None): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
155 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
156 Turn on logging and add a handler which prints to stderr |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
157 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
158 from multiprocessing.util import log_to_stderr |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
159 return log_to_stderr(level) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
160 |
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
161 def allow_connection_pickling(): |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
162 ''' |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
163 Install support for sending connections and sockets between processes |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
164 ''' |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
165 from multiprocessing import reduction |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
166 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
167 # |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
168 # Definitions depending on native semaphores |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
169 # |
|
48931
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
170 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
171 def Lock(): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
172 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
173 Returns a non-recursive lock object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
174 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
175 from multiprocessing.synchronize import Lock |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
176 return Lock() |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
177 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
178 def RLock(): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
179 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
180 Returns a recursive lock object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
181 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
182 from multiprocessing.synchronize import RLock |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
183 return RLock() |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
184 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
185 def Condition(lock=None): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
186 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
187 Returns a condition object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
188 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
189 from multiprocessing.synchronize import Condition |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
190 return Condition(lock) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
191 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
192 def Semaphore(value=1): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
193 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
194 Returns a semaphore object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
195 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
196 from multiprocessing.synchronize import Semaphore |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
197 return Semaphore(value) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
198 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
199 def BoundedSemaphore(value=1): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
200 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
201 Returns a bounded semaphore object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
202 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
203 from multiprocessing.synchronize import BoundedSemaphore |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
204 return BoundedSemaphore(value) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
205 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
206 def Event(): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
207 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
208 Returns an event object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
209 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
210 from multiprocessing.synchronize import Event |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
211 return Event() |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
212 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
213 def Queue(maxsize=0): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
214 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
215 Returns a queue object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
216 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
217 from multiprocessing.queues import Queue |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
218 return Queue(maxsize) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
219 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
220 def JoinableQueue(maxsize=0): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
221 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
222 Returns a queue object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
223 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
224 from multiprocessing.queues import JoinableQueue |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
225 return JoinableQueue(maxsize) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
226 |
|
58536
debe61673a8b
Issue #6963: Added maxtasksperchild argument to multiprocessing.Pool
Jesse Noller <jnoller@gmail.com>
parents:
52526
diff
changeset
|
227 def Pool(processes=None, initializer=None, initargs=(), maxtasksperchild=None): |
|
48931
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
228 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
229 Returns a process pool object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
230 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
231 from multiprocessing.pool import Pool |
|
58536
debe61673a8b
Issue #6963: Added maxtasksperchild argument to multiprocessing.Pool
Jesse Noller <jnoller@gmail.com>
parents:
52526
diff
changeset
|
232 return Pool(processes, initializer, initargs, maxtasksperchild) |
|
48931
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
233 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
234 def RawValue(typecode_or_type, *args): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
235 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
236 Returns a shared object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
237 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
238 from multiprocessing.sharedctypes import RawValue |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
239 return RawValue(typecode_or_type, *args) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
240 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
241 def RawArray(typecode_or_type, size_or_initializer): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
242 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
243 Returns a shared array |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
244 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
245 from multiprocessing.sharedctypes import RawArray |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
246 return RawArray(typecode_or_type, size_or_initializer) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
247 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
248 def Value(typecode_or_type, *args, **kwds): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
249 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
250 Returns a synchronized shared object |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
251 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
252 from multiprocessing.sharedctypes import Value |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
253 return Value(typecode_or_type, *args, **kwds) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
254 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
255 def Array(typecode_or_type, size_or_initializer, **kwds): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
256 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
257 Returns a synchronized shared array |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
258 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
259 from multiprocessing.sharedctypes import Array |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
260 return Array(typecode_or_type, size_or_initializer, **kwds) |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
261 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
262 # |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
263 # |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
264 # |
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
265 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
266 if sys.platform == 'win32': |
|
48931
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
267 |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
268 def set_executable(executable): |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
269 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
270 Sets the path to a python.exe or pythonw.exe binary used to run |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
271 child processes on Windows instead of sys.executable. |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
272 Useful for people embedding Python. |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
273 ''' |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
274 from multiprocessing.forking import set_executable |
|
51f795c9530e
revert r66114 for Jesse
Benjamin Peterson <benjamin@python.org>
parents:
48930
diff
changeset
|
275 set_executable(executable) |
|
47696
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
276 |
|
d01165fae98e
darn! I converted half of the files the wrong way.
Benjamin Peterson <benjamin@python.org>
parents:
47694
diff
changeset
|
277 __all__ += ['set_executable'] |
