Skip to content

Commit a5846b1

Browse files
committed
Complete fork of multiprocessing 2.7 with no-execv patch and Celery pool
1 parent 7cea348 commit a5846b1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+22160
-0
lines changed

CHANGES.txt

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
2.6.2.1 -- 2009-07-30
2+
---------------------
3+
4+
* Issues #5155, 5313, 5331: multiprocessing.Process._bootstrap was
5+
unconditionally calling "os.close(sys.stdin.fileno())" resulting in file
6+
descriptor errors
7+
8+
* Issue #5400: Added patch for multiprocessing on netbsd compilation/support
9+
10+
* Fix and properly document the multiprocessing module's logging
11+
support, expose the internal levels and provide proper usage
12+
examples.
13+
14+
* Issue #5261: Patch multiprocessing's semaphore.c to support context
15+
manager use: "with multiprocessing.Lock()" works now.
16+
17+
* Issue #3321: _multiprocessing.Connection() doesn't check handle; added checks
18+
for *nix machines for negative handles and large int handles. Without this
19+
check it is possible to segfault the interpreter.
20+
21+
* Issue #4301: Patch the logging module to add processName support, remove
22+
_check_logger_class from multiprocessing.
23+
24+
25+
2.6.1.1 -- 2009-02-07
26+
---------------------
27+
28+
* Fixed an issue with `make doc`
29+
30+
* mp docs - fix issues 4012,3518,4193 (Python svn: r67419)
31+
32+
* issue4238: bsd support for cpu_count (Python svn: r67423)
33+
34+
* Move definition int sval into branch of ifdef where it is used.
35+
Otherwise, you get a warning about an undefined variable.
36+
(Python svn: r67440)
37+
38+
* Fixed a segfault in connection_recvbytes_into() which occured
39+
with Python debug builds on 64bit Linux.
40+
41+
* Added reference to `Issue 1683 http://bugs.python.org/issue1683`_.
42+
43+
* issue 4301: patch logging to add processName, remove the old
44+
_check_logger_class code (Python svn: r68737)
45+
46+
* Resolve issue 3321: (segfault) _multiprocessing.Connection()
47+
doesn't check handle (Python svn: r68768)
48+
49+
* Documentation update
50+
51+
52+
2.6.0.2 -- 2008-11-27
53+
---------------------
54+
55+
The release is based on 2.6.0+ and contains additional fixes
56+
from Python svn.
57+
58+
* Issue #5: Added monkey patch to make the threading module forward
59+
compatible with Python 2.6 and 3.0.
60+
61+
* Python Issue #4204: Fixed a compilation issue on FreeBSD 4.
62+
63+
* Removed ``install`` target from Makefile.
64+
65+
* Updated comments of Modules/mmapmodules.c. The modifications
66+
and origin are clearly marked now.
67+
68+
* Added sphinx builder for docs and new make target ``docs``.
69+
70+
* Changed version schema to Python.version.number.internal_revision
71+
72+
* Pulled doc fixes from Python svn: r67189, r67330, r67332
73+
74+
75+
2.6.0-0.1 -- 2008-10-27
76+
-----------------------
77+
78+
The release is based on Python 2.6.0.
79+
80+
* Initial release

Doc/conf.py

+187
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# multiprocessing documentation build configuration file, created by
4+
# sphinx-quickstart on Wed Nov 26 12:47:00 2008.
5+
#
6+
# This file is execfile()d with the current directory set to its containing dir.
7+
#
8+
# The contents of this file are pickled, so don't put values in the namespace
9+
# that aren't pickleable (module imports are okay, they're removed automatically).
10+
#
11+
# All configuration values have a default; values that are commented out
12+
# serve to show the default.
13+
14+
import sys, os
15+
16+
# If your extensions are in another directory, add it here. If the directory
17+
# is relative to the documentation root, use os.path.abspath to make it
18+
# absolute, like shown here.
19+
#sys.path.append(os.path.abspath('.'))
20+
21+
# General configuration
22+
# ---------------------
23+
24+
# Add any Sphinx extension module names here, as strings. They can be extensions
25+
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
26+
extensions = ['sphinx.ext.autodoc']
27+
28+
# Add any paths that contain templates here, relative to this directory.
29+
templates_path = ['templates']
30+
31+
# The suffix of source filenames.
32+
source_suffix = '.rst'
33+
34+
# The encoding of source files.
35+
#source_encoding = 'utf-8'
36+
37+
# The master toctree document.
38+
master_doc = 'index'
39+
40+
# General information about the project.
41+
project = u'multiprocessing'
42+
copyright = u'2008, Python Software Foundation'
43+
44+
# The version info for the project you're documenting, acts as replacement for
45+
# |version| and |release|, also used in various other places throughout the
46+
# built documents.
47+
#
48+
# The short X.Y version.
49+
version = '2.6.0.2'
50+
# The full version, including alpha/beta/rc tags.
51+
release = '2.6.0.2'
52+
53+
# The language for content autogenerated by Sphinx. Refer to documentation
54+
# for a list of supported languages.
55+
#language = None
56+
57+
# There are two options for replacing |today|: either, you set today to some
58+
# non-false value, then it is used:
59+
#today = ''
60+
# Else, today_fmt is used as the format for a strftime call.
61+
#today_fmt = '%B %d, %Y'
62+
63+
# List of documents that shouldn't be included in the build.
64+
#unused_docs = []
65+
66+
# List of directories, relative to source directory, that shouldn't be searched
67+
# for source files.
68+
exclude_trees = ['build']
69+
70+
# The reST default role (used for this markup: `text`) to use for all documents.
71+
#default_role = None
72+
73+
# If true, '()' will be appended to :func: etc. cross-reference text.
74+
#add_function_parentheses = True
75+
76+
# If true, the current module name will be prepended to all description
77+
# unit titles (such as .. function::).
78+
#add_module_names = True
79+
80+
# If true, sectionauthor and moduleauthor directives will be shown in the
81+
# output. They are ignored by default.
82+
#show_authors = False
83+
84+
# The name of the Pygments (syntax highlighting) style to use.
85+
pygments_style = 'sphinx'
86+
87+
88+
# Options for HTML output
89+
# -----------------------
90+
91+
# The style sheet to use for HTML and HTML Help pages. A file of that name
92+
# must exist either in Sphinx' static/ path, or in one of the custom paths
93+
# given in html_static_path.
94+
html_style = 'default.css'
95+
96+
# The name for this set of Sphinx documents. If None, it defaults to
97+
# "<project> v<release> documentation".
98+
#html_title = None
99+
100+
# A shorter title for the navigation bar. Default is the same as html_title.
101+
#html_short_title = None
102+
103+
# The name of an image file (relative to this directory) to place at the top
104+
# of the sidebar.
105+
#html_logo = None
106+
107+
# The name of an image file (within the static path) to use as favicon of the
108+
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
109+
# pixels large.
110+
#html_favicon = None
111+
112+
# Add any paths that contain custom static files (such as style sheets) here,
113+
# relative to this directory. They are copied after the builtin static files,
114+
# so a file named "default.css" will overwrite the builtin "default.css".
115+
html_static_path = ['static']
116+
117+
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
118+
# using the given strftime format.
119+
#html_last_updated_fmt = '%b %d, %Y'
120+
121+
# If true, SmartyPants will be used to convert quotes and dashes to
122+
# typographically correct entities.
123+
#html_use_smartypants = True
124+
125+
# Custom sidebar templates, maps document names to template names.
126+
#html_sidebars = {}
127+
128+
# Additional templates that should be rendered to pages, maps page names to
129+
# template names.
130+
#html_additional_pages = {}
131+
132+
# If false, no module index is generated.
133+
#html_use_modindex = True
134+
135+
# If false, no index is generated.
136+
#html_use_index = True
137+
138+
# If true, the index is split into individual pages for each letter.
139+
#html_split_index = False
140+
141+
# If true, the reST sources are included in the HTML build as _sources/<name>.
142+
#html_copy_source = True
143+
144+
# If true, an OpenSearch description file will be output, and all pages will
145+
# contain a <link> tag referring to it. The value of this option must be the
146+
# base URL from which the finished HTML is served.
147+
#html_use_opensearch = ''
148+
149+
# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
150+
#html_file_suffix = ''
151+
152+
# Output file base name for HTML help builder.
153+
htmlhelp_basename = 'multiprocessingdoc'
154+
155+
156+
# Options for LaTeX output
157+
# ------------------------
158+
159+
# The paper size ('letter' or 'a4').
160+
#latex_paper_size = 'letter'
161+
162+
# The font size ('10pt', '11pt' or '12pt').
163+
#latex_font_size = '10pt'
164+
165+
# Grouping the document tree into LaTeX files. List of tuples
166+
# (source start file, target name, title, author, document class [howto/manual]).
167+
latex_documents = [
168+
('index', 'multiprocessing.tex', ur'multiprocessing Documentation',
169+
ur'Python Software Foundation', 'manual'),
170+
]
171+
172+
# The name of an image file (relative to this directory) to place at the top of
173+
# the title page.
174+
#latex_logo = None
175+
176+
# For "manual" documents, if this is true, then toplevel headings are parts,
177+
# not chapters.
178+
#latex_use_parts = False
179+
180+
# Additional stuff for the LaTeX preamble.
181+
#latex_preamble = ''
182+
183+
# Documents to append as an appendix to all manuals.
184+
#latex_appendices = []
185+
186+
# If false, no module index is generated.
187+
#latex_use_modindex = True

Doc/glossary.rst

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
.. _glossary:
2+
3+
********
4+
Glossary
5+
********
6+
7+
.. glossary::
8+
9+
bytecode
10+
Python source code is compiled into bytecode, the internal representation
11+
of a Python program in the interpreter. The bytecode is also cached in
12+
``.pyc`` and ``.pyo`` files so that executing the same file is faster the
13+
second time (recompilation from source to bytecode can be avoided). This
14+
"intermediate language" is said to run on a :term:`virtual machine`
15+
that executes the machine code corresponding to each bytecode.
16+
17+
CPython
18+
The canonical implementation of the Python programming language. The
19+
term "CPython" is used in contexts when necessary to distinguish this
20+
implementation from others such as Jython or IronPython.
21+
22+
GIL
23+
See :term:`global interpreter lock`.
24+
25+
global interpreter lock
26+
The lock used by Python threads to assure that only one thread
27+
executes in the :term:`CPython` :term:`virtual machine` at a time.
28+
This simplifies the CPython implementation by assuring that no two
29+
processes can access the same memory at the same time. Locking the
30+
entire interpreter makes it easier for the interpreter to be
31+
multi-threaded, at the expense of much of the parallelism afforded by
32+
multi-processor machines. Efforts have been made in the past to
33+
create a "free-threaded" interpreter (one which locks shared data at a
34+
much finer granularity), but so far none have been successful because
35+
performance suffered in the common single-processor case.
36+
37+
virtual machine
38+
A computer defined entirely in software. Python's virtual machine
39+
executes the :term:`bytecode` emitted by the bytecode compiler.
40+

Doc/includes/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# package
2+

0 commit comments

Comments
 (0)