Welcome to Lunchbox, a C++ library for multi-threaded programming. Lunchbox
1.6 adds major new features, most notably support for serializable
Lunchbox 1.6 is a feature release based on the 1.4 Lunchbox API. It is
intended for all application developers creating high-preformance
multi-threaded programs. Lunchbox 1.6 beta can be retrieved by downloading the
code or one of the
Lunchbox provides the following major features to facilitate the development
and deployment of multi-threaded applications:
- OS Abstraction: Utility classes abstracting common operating
systems features, e.g., threads, locks, memory maps, shared library loading
and condition variables.
- High-Performance Primitives: Thread-safe utilities tuned for
performance, e.g., atomic variables, spin locks and lock-free
- Utility classes: Helper primitives which are not in the standard
library, e.g., logging, pools and random number generation.
2. New in this release
Lunchbox 1.6 contains the following features, enhancements, bug fixes and
documentation changes over the co::base functionality found in Equalizer
2.1. New Features
- Any, a serializable derivative of boost::any
function to create daemon programs
- byteswap template function to perform little-to-big-endian or
big-to-little endian swapping
- New compiler support: XLC 9 on PowerPC, gcc 4.1.
- Copyable (move semantics) ScopedMutex
- Method to directly redirect Log to a file
- Improved Buffer, uint128_t and LFVector APIs
- Servus get API
for announced keys
The following documentation has been added or substantially improved since the
2.5. Bug Fixes
Lunchbox 1.6 includes various bugfixes over the 1.4 release, including the
Memory leak in Thread::setAffinity
sleep is not signal-safe
2.6. Known Bugs
The following bugs were known at release time. Please file a
Bug Report if you
find any other issue with this release.
Condition::timedWait does not wait on early RHEL 6.1 versions
Lunchbox is a cross-platform library, designed to run on any modern operating
system, including all Unix variants and the Windows operating system.
3.1. Operating System Support
Lunchbox uses CMake to create a platform-specific build environment. The
following platforms and build environments are tested:
- Linux: Ubuntu 12.04, 12.10, RHEL 6 (Makefile, i386, x64)
- Windows: 7 (Visual Studio 2008, i386, x64)
- Mac OS X: 10.8 (Makefile, XCode, i386, x64)
documentation can be found on
eyescale.github.com. As with any
open source project, the available source code, in particular the
provide a reference for developing applications.
Technical questions can be posted to the Equalizer
Developer Mailing List, or directly to
Commercial support, custom software development and porting services are
available from Eyescale. Please contact
for further information.