Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Mar 15, 2015
  1. @dowski

    Merge pull request #98 from msabramo/patch-1

    dowski authored
    README.rst: Add caniusepython3.com badge
Commits on Mar 9, 2015
  1. @msabramo
Commits on Dec 5, 2014
  1. @dowski
  2. @dowski

    Test and fix for "infinite" WaitPool growth

    dowski authored
    If an app coordinated actions with wait(unique_token) calls, every
    unique_token would exist in the internal WaitPool for the lifetime of
    the app.
    
    This change makes sure to clean up the tokens and related empty sets
    when then are no longer needed.
Commits on Nov 12, 2014
  1. Fix package tarball name to satisfy pypi...

    Jamie Turner authored
  2. Readme update with prereqs.

    Jamie Turner authored
  3. Move to github hosting for pypi.

    Jamie Turner authored
  4. Version bump.

    Jamie Turner authored
Commits on May 14, 2014
  1. @jamwt

    Merge pull request #76 from dowski/os-signals

    jamwt authored
    OS Signals
Commits on Jan 14, 2014
  1. @dowski

    Make sure to stop the PyEv watcher

    dowski authored
    Without this, PyEv 0.9 and LibEv 4.15 were segfaulting.
  2. @dowski
Commits on Dec 20, 2013
  1. @dowski

    Handle fd reuse during epoll callback processing

    dowski authored
    There is a comment to this effect, but file descriptors can get reused.
    If a read event and write event were triggered for a fd and the read
    callback unregistered the fd (because the remote closed) and then
    attempted a reconnect and the fd was reused when registerd, the write
    callback was still getting invoked in the same iteration of event
    handling. However, the callback wasn't intended for a disconnected
    socket.
    
    The bug was observed when attempting to reconnect dropped SSL
    connections in a try/except block. It was causing the event hub
    to freeze up indefinitely.
    
    The event hub now tracks an ID for file descriptors and checks that the
    ID at the start of even processing for a fd is the same after doing read
    callback handling. If the ID changes the write callback is not invoked.
Commits on Nov 21, 2013
  1. @dowski

    Merge branch 'tox'

    dowski authored
  2. @dowski

    Merge pull request #86 from msabramo/absolute_import_dns

    dowski authored
    Add "from __future__ import absolute_import" to diesel/protocols/DNS.py
  3. @dowski

    Merge pull request #82 from msabramo/setup_py_add_pyvev_dep_if_necessary

    dowski authored
    setup.py: Add pyev to additional_requires if no select.epoll available
  4. @dowski
Commits on Sep 13, 2013
  1. @msabramo

    Add "from __future__ import absolute_import" to diesel/protocols/DNS.py

    msabramo authored
    so that imports from "dns" don't grab from DNS.py itself on
    case-insensitive filesystems.
  2. @msabramo

    Add tox.ini for tox

    msabramo authored
  3. @msabramo
  4. @msabramo
Commits on Jul 28, 2013
  1. @dowski

    Unblock the dpython command

    dowski authored
    Previously it just used raw_input for getting input from the terminal.
    It now uses diesel's create_line_input_stream function to read from
    stdin in a non-blocking fashion.
    
    idpython still blocks. Need to figure out how to work non-blocking input
    into it.
Commits on Jul 16, 2013
  1. @dowski

    Fix ConnectionPool pool_max bug

    dowski authored
    Normal ConnectionPools are able to be created at the module level,
    outside of any diesel Loop. This is a useful feature. However, if you
    specified a pool_max value when creating your ConnectionPool outside of
    a Loop, you'd get an exception.
    
    This fix changes the way the sentinel values are added to the
    remaining_conns Queue in the ConnectionPool constructor. It adds them
    without firing any diesel events.
Commits on Jul 15, 2013
  1. @dowski

    Resurrected an old chat example

    dowski authored
    Updated from diesel 1.x to diesel 3.x and added a client example.
Commits on Jul 13, 2013
  1. @dowski

    A start on API docs

    dowski authored
    Really shows where we are lacking docstrings (mostly everywhere!).
  2. @dowski

    Docstrings for the Signal class

    dowski authored
  3. @dowski

    Remove unused import

    dowski authored
Commits on Jul 12, 2013
  1. @dowski

    Added signal example

    dowski authored
  2. @dowski

    Simplified Signal class internals

    dowski authored
    Doesn't need its own Loop. It now simply registers its set() method to
    be called when the signal is caught by the event hub.
  3. @dowski

    Added higher-level Signal class

    dowski authored
    It is an Event subclass, can be waited on using first and will catch
    signals that were fired even when the current loop isn't explicitly
    waiting on them.
  4. @dowski

    Better EINTR behavior for the EPollEventHub

    dowski authored
    Anything that still existed in run_now will get run, instead of getting
    overwritten with reschedule.
Commits on Jul 11, 2013
  1. @dowski

    Simplify EPollEventHub signal handling

    dowski authored
    Callbacks are scheduled in run_now, like callbacks from Timers. This
    matches the LibEvEventHub and generally properly schedules the handling
    of signals.
  2. @dowski

    Don't overwrite existing signal handlers

    dowski authored
    Raise an exception if something else is already registered to handle
    this signal.
  3. @dowski
  4. @dowski

    Reorganize signal handling code

    dowski authored
    A bunch of stuff that only the EPollEventHub used was on the
    AbstractEventHub. Now the LibEvEventHub doesn't have to inherit that
    stuff it doesn't need.
  5. @dowski

    OS signal support for the LibEv hub

    dowski authored
    Required a bugfix to the handle_events method. Callbacks that were
    getting appended to run_now were running after those that were added to
    reschedule. That was happening because run_now was gettinged extended
    with reschedule before handling events from the hub loop.
    
    Like the EPollEventHub, we now do multiple iterations over run_now
    during handle_events. The second pass runs any that were added during
    hub loop event handling. Last of all, the callbacks that were in
    reschedule are put into run_now for the next call.
Something went wrong with that request. Please try again.