void func()
{
  boost::interprocess::unique_ptr<int, boost::default_delete<int> > uptr(new int(5));
  p.set_value_at_thread_exit(boost::move(uptr));
}
void func()
{
  boost::csbl::unique_ptr<int> uptr(new int(5));
  p.set_value_at_thread_exit(boost::move(uptr));
}
void func2()
{
  p2.set_value_at_thread_exit(boost::csbl::make_unique<int>(5));
}
void func()
{
  p.set_value_at_thread_exit(i);
  i = 4;
}