diff --git a/lib/cpp/bootstrap.sh b/lib/cpp/bootstrap.sh
index 607655d..34df69d 100755
--- a/lib/cpp/bootstrap.sh
+++ b/lib/cpp/bootstrap.sh
@@ -1,36 +1,6 @@
 #!/bin/sh
 
-rm -rf \
-AUTHORS \
-COPYING \
-ChangeLog \
-INSTALL \
-Makefile \
-Makefile.in \
-Makefile.orig \
-NEWS \
-README \
-aclocal.m4 \
-autom4te.cache \
-autoscan.log \
-config.guess \
-config.h \
-config.hin \
-config.log \
-config.status \
-config.sub \
-configure \
-configure.scan \
-depcomp \
-.deps \
-install-sh \
-.libs \
-libtool \
-ltmain.sh \
-Makefile.in \
-missing
-
-
+./cleanup.sh
 autoscan
 autoheader
 aclocal -I ./aclocal
diff --git a/lib/cpp/cleanup.sh b/lib/cpp/cleanup.sh
new file mode 100755
index 0000000..8e5d217
--- /dev/null
+++ b/lib/cpp/cleanup.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+rm -rf \
+AUTHORS \
+COPYING \
+ChangeLog \
+INSTALL \
+Makefile \
+Makefile.in \
+Makefile.orig \
+NEWS \
+README \
+aclocal.m4 \
+autom4te.cache \
+autoscan.log \
+config.guess \
+config.h \
+config.hin \
+config.log \
+config.status \
+config.sub \
+configure \
+configure.scan \
+depcomp \
+.deps \
+install-sh \
+.libs \
+libtool \
+ltmain.sh \
+Makefile.in \
+missing
diff --git a/lib/cpp/configure.ac b/lib/cpp/configure.ac
index 8763a4a..d0fc7c1 100644
--- a/lib/cpp/configure.ac
+++ b/lib/cpp/configure.ac
@@ -48,6 +48,8 @@
 
 AC_CHECK_HEADERS([unistd.h])
 
+AC_C_INLINE
+
 AX_BOOST_BASE([1.33.1])
 
 AX_EVENT_BASE([1.2.0])
diff --git a/lib/cpp/src/server/TThreadPoolServer.cpp b/lib/cpp/src/server/TThreadPoolServer.cpp
index 2f85c8b..1407b8c 100644
--- a/lib/cpp/src/server/TThreadPoolServer.cpp
+++ b/lib/cpp/src/server/TThreadPoolServer.cpp
@@ -26,7 +26,7 @@
 
   ~Task() {}
     
-  void run() {     
+  void run() {
     try {
       while (processor_->process(input_, output_)) {
         if (!input_->getTransport()->peek()) {
diff --git a/lib/java/src/transport/TTransport.java b/lib/java/src/transport/TTransport.java
index 4664f3f..890a810 100644
--- a/lib/java/src/transport/TTransport.java
+++ b/lib/java/src/transport/TTransport.java
@@ -16,6 +16,15 @@
   public abstract boolean isOpen();
 
   /**
+   * Is there more data to be read?
+   *
+   * @return True if the remote side is still alive and feeding us
+   */
+  public boolean peek() {
+    return isOpen();
+  }
+
+  /**
    * Opens the transport for reading/writing.
    *
    * @throws TTransportException if the transport could not be opened
diff --git a/lib/php/bootstrap.sh b/lib/php/bootstrap.sh
index 11f41a9..b79e431 100755
--- a/lib/php/bootstrap.sh
+++ b/lib/php/bootstrap.sh
@@ -1,35 +1,6 @@
 #!/bin/sh
 
-rm -rf \
-AUTHORS \
-COPYING \
-ChangeLog \
-INSTALL \
-Makefile \
-Makefile.in \
-Makefile.orig \
-NEWS \
-README \
-aclocal.m4 \
-autom4te.cache \
-autoscan.log \
-config.guess \
-config.h \
-config.hin \
-config.log \
-config.status \
-config.sub \
-configure \
-configure.scan \
-depcomp \
-.deps \
-install-sh \
-.libs \
-libtool \
-ltmain.sh \
-Makefile.in \
-missing
-
+./cleanup.sh
 aclocal
 touch NEWS README AUTHORS ChangeLog
 autoconf
diff --git a/lib/php/cleanup.sh b/lib/php/cleanup.sh
new file mode 100755
index 0000000..8e5d217
--- /dev/null
+++ b/lib/php/cleanup.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+rm -rf \
+AUTHORS \
+COPYING \
+ChangeLog \
+INSTALL \
+Makefile \
+Makefile.in \
+Makefile.orig \
+NEWS \
+README \
+aclocal.m4 \
+autom4te.cache \
+autoscan.log \
+config.guess \
+config.h \
+config.hin \
+config.log \
+config.status \
+config.sub \
+configure \
+configure.scan \
+depcomp \
+.deps \
+install-sh \
+.libs \
+libtool \
+ltmain.sh \
+Makefile.in \
+missing
diff --git a/lib/py/bootstrap.sh b/lib/py/bootstrap.sh
index 11f41a9..b79e431 100755
--- a/lib/py/bootstrap.sh
+++ b/lib/py/bootstrap.sh
@@ -1,35 +1,6 @@
 #!/bin/sh
 
-rm -rf \
-AUTHORS \
-COPYING \
-ChangeLog \
-INSTALL \
-Makefile \
-Makefile.in \
-Makefile.orig \
-NEWS \
-README \
-aclocal.m4 \
-autom4te.cache \
-autoscan.log \
-config.guess \
-config.h \
-config.hin \
-config.log \
-config.status \
-config.sub \
-configure \
-configure.scan \
-depcomp \
-.deps \
-install-sh \
-.libs \
-libtool \
-ltmain.sh \
-Makefile.in \
-missing
-
+./cleanup.sh
 aclocal
 touch NEWS README AUTHORS ChangeLog
 autoconf
diff --git a/lib/py/cleanup.sh b/lib/py/cleanup.sh
new file mode 100755
index 0000000..8e5d217
--- /dev/null
+++ b/lib/py/cleanup.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+rm -rf \
+AUTHORS \
+COPYING \
+ChangeLog \
+INSTALL \
+Makefile \
+Makefile.in \
+Makefile.orig \
+NEWS \
+README \
+aclocal.m4 \
+autom4te.cache \
+autoscan.log \
+config.guess \
+config.h \
+config.hin \
+config.log \
+config.status \
+config.sub \
+configure \
+configure.scan \
+depcomp \
+.deps \
+install-sh \
+.libs \
+libtool \
+ltmain.sh \
+Makefile.in \
+missing
