      {
      public:
          BOOST_THREAD_NO_COPYABLE(timed_mutex)
-diff -ruN pristine_boost_1_53_0/boost/thread/win32/recursive_mutex.hpp boost_1_53_0/boost/thread/win32/recursive_mutex.hpp
+diff -ruN pristine_boost_1_53_0/boost/thread/win32/recursive_mutex.hpp boost_1_53_0 2/boost/thread/win32/recursive_mutex.hpp
 --- pristine_boost_1_53_0/boost/thread/win32/recursive_mutex.hpp	2012-12-02 04:22:33.000000000 -0500
-+++ boost_1_53_0/boost/thread/win32/recursive_mutex.hpp	2013-04-13 14:37:05.000000000 -0400
++++ boost_1_53_0 2/boost/thread/win32/recursive_mutex.hpp	2013-05-04 15:39:43.000000000 -0400
 @@ -10,6 +10,8 @@
  //  http://www.boost.org/LICENSE_1_0.txt)
 

         {
-            return detail::thread_data_ptr(detail::heap_new<detail::thread_data<typename boost::remove_reference<F>::type> >(
-                boost::forward<F>(f)));
+            return detail::thread_data_ptr(detail::heap_new<detail::thread_data<d2::thread_function<F> > >(
+                this->get_thread_function(boost::forward<F>(f))));
         }
 #endif

-                );
+            return detail::thread_data_ptr(
+                    detail::heap_new<
+                        detail::thread_data<d2::thread_function<typename boost::remove_reference<F>::type>, ArgTypes...>
+                    >(this->get_thread_function(boost::forward<F>(f)),
+                      boost::forward<ArgTypes>(args)...));
         }
