Libtubo Interprocess Communication and Control -- Current version 5.0.15
As of 5.0.15, code is tested with Coverity, https://scan.coverity.com/projects/4296
NOTE: last version to work with mingw-32 is 5.0.13. Target for 5.0.14 is mingw-64
RPMs are built and lintian tested on OpenSUSE-12.3.
rpm -U [rpm package]
DEBs are built and lintian tested on Ubuntu-12.04:
dpkg -i [deb package]
download ebuild and manifest to dev-libs/libtubo0/
chdir dev-libs/libtubo0/ && sudo ebuild [ebuild file] merge
Windows: now supported with Mingw and Mingw64 build chain. Minimum
requirement is WindowsXP-SP2. You gotta compile it yourself or wait
for the instalation package which is on the road map.
The Libtubo library is small and simple function set to enable a process to run any other process in the background and communicate via the stdout, stderr and stdin file descriptors. This library is used by Rodent filemanager but is also available here for other programs to use freely.
NOTE: Source tarball contains debian directory and spec file so that binary installation package can be generated on other .deb or .rpm based systems.
The functionality of libtubo is similar to the glib function g_spawn_async_with_pipes() except that all pipe setup and monitoring is taken care of. The calling function only has to provide the functions with which to process the input/output of the remote process. These must be thread-safe functions. Process control is done with parallel threads.
GPL. Which means you can use the library in open source applications. This changed from 5.0.7 which was LGPL. If you want LGPL go back to 5.0.7, but Windoze is not supported in versions < 5.0.8
The library first appeared in the year 2000 in the xfce3 desktop as part of the xfsamba application. From then on the code has improved constantly, becoming a threaded version in 2010. Examples of the application of the Tubo_threads function can be found in the current Rodent Filemanager code. The source tarball also contains code for a simple example program which illustrates the usage.
Documentation can be found at the library home page: