Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Jul 4, 2012
  1. Roll new release

    Marcus Holland-Moritz authored
  2. Update debhelper dependency

    Marcus Holland-Moritz authored
  3. Fix manpage installation issues

    Marcus Holland-Moritz authored
Commits on Feb 22, 2012
  1. Transfer repository to lastfm organization

    Marcus Holland-Moritz authored
Commits on Feb 21, 2012
  1. Update repo link in manpage

    Marcus Holland-Moritz authored
  2. Improve connect timeout computation

    Marcus Holland-Moritz authored
    The connect timeout computation could theoretically overflow. However,
    there was an artificial limit of 60 seconds for connect timeouts. The
    computation has now been changed to not overflow and the restriction
    to 60 seconds has been removed.
Commits on Feb 14, 2012
  1. Ensure streaming processes can get killed (in a safe way)

    Marcus Holland-Moritz authored
    I noticed during testing that after my changes to catch TERM/QUIT/INT
    it was no longer possible to kill the streaming kids of the master
    process. This was obviously bad. However, just removing the signal
    handlers for the streaming process is bad as well as killing such a
    process would cause the connection counters to become invalid.
    So this change handles signals in the streaming process in much the
    same way as they're handled in the master and monitoring process and
    attempts to shut the connection down gracefully when catching a signal.
    This is still not a perfect solution as inconsistencies can arise when
    the process is killed with a signal that cannot be caught (SIGKILL).
  2. Protect the monitoring loop from select/signal race condition

    Marcus Holland-Moritz authored
  3. Ensure connection counters are kept consistent if fork() fails

    Marcus Holland-Moritz authored
  4. Make group index loop a little more intuitive to read

    Marcus Holland-Moritz authored
  5. Fix non-volatile variable access from a signal handler

    Marcus Holland-Moritz authored
  6. Refactor setaddress() / getport()

    Marcus Holland-Moritz authored
    This change merges setaddress() and setaddress_noexitonerror() into
    one function that will now also do slightly better error checking.
    getport() will also be much stricter now about its arguments.
Commits on Feb 13, 2012
  1. Wording / whitespace cleanup

    Marcus Holland-Moritz authored
  2. Update changelog

    Marcus Holland-Moritz authored
  3. Update the README file

    Marcus Holland-Moritz authored
  4. Final polishing of the main source file

    Marcus Holland-Moritz authored
    - add copyright & version info
    - initialise a variable to get rid of a compiler warning
  5. Update Makefile

    Marcus Holland-Moritz authored
    - enable optimisation
    - generate html/pdf docs
  6. Update the manpage

    Marcus Holland-Moritz authored
    - Nicer formatting so it actually becomes usable
    - Document monitoring support
    - Improve section on interactive control
    - Update copyright/authors section
  7. Implement monitoring support

    Marcus Holland-Moritz authored
    This change implements channel monitoring. In order to try and keep
    as much of the original code as possible, monitoring is implemented
    by forking off a separate monitoring process that communicates with
    the master process using the same means (shared memory) as the shell
    and connection processes.
    There is support for both simple TCP connect checking as well as
    arbitrary health check commands that can be run by the monitoring
Commits on Feb 11, 2012
  1. @mhx
  2. @mhx

    Improve shared memory handling

    mhx authored
    The original implementation would cause shared memory resource leaks
    when terminating balance. This is now avoided by marking the shared
    memory segment as to-be-removed when the last process detaches. This
    also means that it's easier for the interactive shell to determine
    the presence of the master process.
    Furthermore, the code to set up the shared memory segment will now
    handle the case of a stale and incompatible shared memory segment,
    which might be left over from a crashed balance instance.
  3. @mhx

    Shut down balance more gracefully

    mhx authored
    Balance now catches the TERM, INT and QUIT signals and shuts down
    in a more controlled way. Also, the interactive kill commands sends
    a TERM instead of a KILL signal, which is most likely good enough.
    SIGKILL should always be the last resort.
  4. @mhx
  5. @mhx

    Use tri-state channel status

    mhx authored
    Channels can now be soft- or hard-disabled or enabled. Hard-disabling
    is a manual process and a hard-disabled channel can only be re-enabled
    manually. Soft-disabling can be done automatically by balance if it
    finds a channel to be degraded. Soft-disabled channels can be re-
    enabled by balance if the channel becomes functional again. But this
    feature is yet to be implemented.
  6. @mhx

    Some more refactoring

    mhx authored
    - add patchlevel and group count to shared memory
    - balance ->
Commits on Feb 10, 2012
  1. Refactoring

    Marcus Holland-Moritz authored
    - use const pointers where possible
    - try to avoid casting
    - remove unused readline() function
    - fix setaddress_noexitonerror(), which was completely broken
  2. Remove rcsid string

    Marcus Holland-Moritz authored
  3. Fix some oddities

    Marcus Holland-Moritz authored
    - wrong exit codes
    - off-by-one errors when accessing groups/channels
    - return and parameter types
    - <> vs. "" includes
Commits on Feb 9, 2012
  1. Make functions static where possible

    Marcus Holland-Moritz authored
  2. Whitespace cleanup of manpage

    Marcus Holland-Moritz authored
  3. Update .gitignore

    Marcus Holland-Moritz authored
Commits on Feb 7, 2012
  1. More renaming and cleaning up of defunct revision code

    Marcus Holland-Moritz authored
  2. Whitespace cleanup

    Marcus Holland-Moritz authored
  3. Rename to and add debian packaging support

    Marcus Holland-Moritz authored
  4. Fix and refactor logging/reporting code

    Marcus Holland-Moritz authored
    The original code was too verbose and contained bugs that could
    write error messages to the sockets of a connected peer.
Something went wrong with that request. Please try again.