Skip to content

Commit

Permalink
Complete fork of multiprocessing 2.7 with no-execv patch and Celery pool
Browse files Browse the repository at this point in the history
  • Loading branch information
ask committed Apr 20, 2012
1 parent 7cea348 commit a5846b1
Show file tree
Hide file tree
Showing 66 changed files with 22,160 additions and 0 deletions.
80 changes: 80 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
2.6.2.1 -- 2009-07-30
---------------------

* Issues #5155, 5313, 5331: multiprocessing.Process._bootstrap was
unconditionally calling "os.close(sys.stdin.fileno())" resulting in file
descriptor errors

* Issue #5400: Added patch for multiprocessing on netbsd compilation/support

* Fix and properly document the multiprocessing module's logging
support, expose the internal levels and provide proper usage
examples.

* Issue #5261: Patch multiprocessing's semaphore.c to support context
manager use: "with multiprocessing.Lock()" works now.

* Issue #3321: _multiprocessing.Connection() doesn't check handle; added checks
for *nix machines for negative handles and large int handles. Without this
check it is possible to segfault the interpreter.

* Issue #4301: Patch the logging module to add processName support, remove
_check_logger_class from multiprocessing.


2.6.1.1 -- 2009-02-07
---------------------

* Fixed an issue with `make doc`

* mp docs - fix issues 4012,3518,4193 (Python svn: r67419)

* issue4238: bsd support for cpu_count (Python svn: r67423)

* Move definition int sval into branch of ifdef where it is used.
Otherwise, you get a warning about an undefined variable.
(Python svn: r67440)

* Fixed a segfault in connection_recvbytes_into() which occured
with Python debug builds on 64bit Linux.

* Added reference to `Issue 1683 http://bugs.python.org/issue1683`_.

* issue 4301: patch logging to add processName, remove the old
_check_logger_class code (Python svn: r68737)

* Resolve issue 3321: (segfault) _multiprocessing.Connection()
doesn't check handle (Python svn: r68768)

* Documentation update


2.6.0.2 -- 2008-11-27
---------------------

The release is based on 2.6.0+ and contains additional fixes
from Python svn.

* Issue #5: Added monkey patch to make the threading module forward
compatible with Python 2.6 and 3.0.

* Python Issue #4204: Fixed a compilation issue on FreeBSD 4.

* Removed ``install`` target from Makefile.

* Updated comments of Modules/mmapmodules.c. The modifications
and origin are clearly marked now.

* Added sphinx builder for docs and new make target ``docs``.

* Changed version schema to Python.version.number.internal_revision

* Pulled doc fixes from Python svn: r67189, r67330, r67332


2.6.0-0.1 -- 2008-10-27
-----------------------

The release is based on Python 2.6.0.

* Initial release
187 changes: 187 additions & 0 deletions Doc/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
# -*- coding: utf-8 -*-
#
# multiprocessing documentation build configuration file, created by
# sphinx-quickstart on Wed Nov 26 12:47:00 2008.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# The contents of this file are pickled, so don't put values in the namespace
# that aren't pickleable (module imports are okay, they're removed automatically).
#
# All configuration values have a default; values that are commented out
# serve to show the default.

import sys, os

# If your extensions are in another directory, add it here. If the directory
# is relative to the documentation root, use os.path.abspath to make it
# absolute, like shown here.
#sys.path.append(os.path.abspath('.'))

# General configuration
# ---------------------

# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc']

# Add any paths that contain templates here, relative to this directory.
templates_path = ['templates']

# The suffix of source filenames.
source_suffix = '.rst'

# The encoding of source files.
#source_encoding = 'utf-8'

# The master toctree document.
master_doc = 'index'

# General information about the project.
project = u'multiprocessing'
copyright = u'2008, Python Software Foundation'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '2.6.0.2'
# The full version, including alpha/beta/rc tags.
release = '2.6.0.2'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None

# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'

# List of documents that shouldn't be included in the build.
#unused_docs = []

# List of directories, relative to source directory, that shouldn't be searched
# for source files.
exclude_trees = ['build']

# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None

# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True

# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True

# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False

# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'


# Options for HTML output
# -----------------------

# The style sheet to use for HTML and HTML Help pages. A file of that name
# must exist either in Sphinx' static/ path, or in one of the custom paths
# given in html_static_path.
html_style = 'default.css'

# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None

# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None

# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None

# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['static']

# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'

# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True

# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}

# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}

# If false, no module index is generated.
#html_use_modindex = True

# If false, no index is generated.
#html_use_index = True

# If true, the index is split into individual pages for each letter.
#html_split_index = False

# If true, the reST sources are included in the HTML build as _sources/<name>.
#html_copy_source = True

# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''

# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = ''

# Output file base name for HTML help builder.
htmlhelp_basename = 'multiprocessingdoc'


# Options for LaTeX output
# ------------------------

# The paper size ('letter' or 'a4').
#latex_paper_size = 'letter'

# The font size ('10pt', '11pt' or '12pt').
#latex_font_size = '10pt'

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, document class [howto/manual]).
latex_documents = [
('index', 'multiprocessing.tex', ur'multiprocessing Documentation',
ur'Python Software Foundation', 'manual'),
]

# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None

# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False

# Additional stuff for the LaTeX preamble.
#latex_preamble = ''

# Documents to append as an appendix to all manuals.
#latex_appendices = []

# If false, no module index is generated.
#latex_use_modindex = True
40 changes: 40 additions & 0 deletions Doc/glossary.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
.. _glossary:

********
Glossary
********

.. glossary::

bytecode
Python source code is compiled into bytecode, the internal representation
of a Python program in the interpreter. The bytecode is also cached in
``.pyc`` and ``.pyo`` files so that executing the same file is faster the
second time (recompilation from source to bytecode can be avoided). This
"intermediate language" is said to run on a :term:`virtual machine`
that executes the machine code corresponding to each bytecode.

CPython
The canonical implementation of the Python programming language. The
term "CPython" is used in contexts when necessary to distinguish this
implementation from others such as Jython or IronPython.

GIL
See :term:`global interpreter lock`.

global interpreter lock
The lock used by Python threads to assure that only one thread
executes in the :term:`CPython` :term:`virtual machine` at a time.
This simplifies the CPython implementation by assuring that no two
processes can access the same memory at the same time. Locking the
entire interpreter makes it easier for the interpreter to be
multi-threaded, at the expense of much of the parallelism afforded by
multi-processor machines. Efforts have been made in the past to
create a "free-threaded" interpreter (one which locks shared data at a
much finer granularity), but so far none have been successful because
performance suffered in the common single-processor case.

virtual machine
A computer defined entirely in software. Python's virtual machine
executes the :term:`bytecode` emitted by the bytecode compiler.

2 changes: 2 additions & 0 deletions Doc/includes/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# package

Loading

0 comments on commit a5846b1

Please sign in to comment.