diff --git a/Doc/c-api/exceptions.rst b/Doc/c-api/exceptions.rst
index 2148463..9413762 100644
--- a/Doc/c-api/exceptions.rst
+++ b/Doc/c-api/exceptions.rst
@@ -355,6 +355,16 @@
    .. % thread.interrupt_main() (used from IDLE), so it's still needed.
 
 
+.. cfunction:: int PySignal_SetWakeupFd(int fd)
+
+   This utility function specifies a file descriptor to which a ``'\0'`` byte will
+   be written whenever a signal is received.  It returns the previous such file
+   descriptor.  The value ``-1`` disables the feature; this is the initial state.
+   This is equivalent to :func:`signal.set_wakeup_fd` in Python, but without any
+   error checking.  *fd* should be a valid file descriptor.  The function should
+   only be called from the main thread.
+
+
 .. cfunction:: PyObject* PyErr_NewException(char *name, PyObject *base, PyObject *dict)
 
    This utility function creates and returns a new exception object. The *name*
diff --git a/Doc/library/signal.rst b/Doc/library/signal.rst
index d3c498d..920752b 100644
--- a/Doc/library/signal.rst
+++ b/Doc/library/signal.rst
@@ -110,6 +110,20 @@
    :manpage:`signal(2)`.)
 
 
+.. function:: set_wakeup_fd(fd)
+
+   Set the wakeup fd to *fd*.  When a signal is received, a ``'\0'`` byte is
+   written to the fd.  This can be used by a library to wakeup a poll or select
+   call, allowing the signal to be fully processed.
+
+   The old wakeup fd is returned.  *fd* must be non-blocking.  It is up to the
+   library to remove any bytes before calling poll or select again.
+
+   When threads are enabled, this function can only be called from the main thread;
+   attempting to call it from other threads will cause a :exc:`ValueError`
+   exception to be raised.
+
+
 .. function:: signal(signalnum, handler)
 
    Set the handler for signal *signalnum* to the function *handler*.  *handler* can
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index e5a8d22..b29cb7b 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -147,15 +147,16 @@
 The input format is reStructured Text, 
 a markup commonly used in the Python community that supports
 custom extensions  and directives.   Sphinx concentrates 
-on its HTML output, producing attractively styled 
-and modern HTML. (XXX finish this -- mention new search feature)
+on HTML output, producing attractively styled 
+and modern HTML, but printed output is still supported through 
+conversion to LaTeX as an output format.
 
 .. seealso::
 
    `Docutils <http://docutils.sf.net>`__: The fundamental
    reStructured Text parser and toolset.
 
-   `Documenting Python <XXX>`__: Describes how to write for 
+   `Documenting Python <http://docs.python.org/dev/documenting/>`__: Describes how to write for 
    Python's documentation.
 
 
@@ -839,6 +840,27 @@
 * The :mod:`sets` module has been deprecated; it's better to 
   use the built-in :class:`set` and :class:`frozenset` types.
 
+* Integrating signal handling with GUI handling event loops 
+  like those used by Tkinter or GTk+ has long been a problem; most
+  software ends up polling, waking up every fraction of a second.  Thi
+  The :mod:`signal` module can now make this more efficient.
+  Calling ``signal.set_wakeup_fd(fd)`` sets a file descriptor
+  to be used; when a signal is received, a byte is written to that 
+  file descriptor.  There's also a C-level function,
+  :cfunc:`PySignal_SetWakeupFd`, for setting the descriptor.
+
+  Event loops will use this by opening a pipe to create two descriptors,
+  one for reading and one for writing.  The writeable descriptor
+  will be passed to :func:`set_wakeup_fd`, and the readable descriptor
+  will be added to the list of descriptors monitored by the event loop via
+  :cfunc:`select` or :cfunc:`poll`.
+  On receiving a signal, a byte will be written and the main event loop 
+  will be woken up, without the need to poll.
+
+  Contributed by Adam Olsen.
+
+  .. % Patch 1583
+
 * The :mod:`smtplib` module now supports SMTP over SSL thanks to the
   addition of the :class:`SMTP_SSL` class. This class supports an
   interface identical to the existing :class:`SMTP` class.   Both 
