forked from premiere/premiere-libtorrent
merged changes from RC_1_0
This commit is contained in:
parent
2514e7a0e2
commit
bfb0c4fe80
|
@ -22,6 +22,9 @@ rm -f bindings/python/Makefile bindings/python/Makefile.in
|
||||||
chmod a-x docs/*.rst docs/*.htm* src/*.cpp include/libtorrent/*.hpp
|
chmod a-x docs/*.rst docs/*.htm* src/*.cpp include/libtorrent/*.hpp
|
||||||
|
|
||||||
./autotool.sh
|
./autotool.sh
|
||||||
./configure --enable-python-binding --enable-examples=yes --enable-encryption --enable-tests=yes --with-boost-system=mt --with-boost-chrono=mt --with-boost-random=mt --with-boost-python=mt --enable-tests
|
./configure --enable-python-binding --enable-examples=yes --enable-encryption --enable-tests=yes --with-boost-system=mt --with-boost-chrono=mt --with-boost-random=mt --with-boost-python=mt
|
||||||
make V=1 -j8 check distcheck
|
make V=1 -j8 check distcheck
|
||||||
|
|
||||||
|
./configure --enable-python-binding --enable-examples=yes --enable-encryption --with-boost-system=mt --with-boost-chrono=mt --with-boost-random=mt --with-boost-python=mt
|
||||||
|
make V=1 -j8 distcheck
|
||||||
|
|
||||||
|
|
26
configure.ac
26
configure.ac
|
@ -110,9 +110,6 @@ AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
|
||||||
then
|
then
|
||||||
AS_ECHO "found"
|
AS_ECHO "found"
|
||||||
ac_cv_hidden_visibility_attribute=yes
|
ac_cv_hidden_visibility_attribute=yes
|
||||||
CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
|
|
||||||
CFLAGS="$CFLAGS -fvisibility=hidden"
|
|
||||||
LDFLAGS="$LDFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
|
|
||||||
fi
|
fi
|
||||||
rm -f visibility_conftest.*
|
rm -f visibility_conftest.*
|
||||||
])
|
])
|
||||||
|
@ -232,6 +229,15 @@ AC_ARG_ENABLE(
|
||||||
[[ARG_ENABLE_ENCRYPTION=yes]]
|
[[ARG_ENABLE_ENCRYPTION=yes]]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(
|
||||||
|
[export-all],
|
||||||
|
[AS_HELP_STRING(
|
||||||
|
[--enable-export-all],
|
||||||
|
[export all symbols from libtorrent, including non-public ones [default=no]])],
|
||||||
|
[[ARG_ENABLE_FULL_EXPORT=$enableval]],
|
||||||
|
[[ARG_ENABLE_FULL_EXPORT=no]]
|
||||||
|
)
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
AC_ARG_ENABLE(
|
||||||
[pool-allocators],
|
[pool-allocators],
|
||||||
[AS_HELP_STRING(
|
[AS_HELP_STRING(
|
||||||
|
@ -463,6 +469,14 @@ AS_CASE(["$ARG_ENABLE_POOL_ALLOC"],
|
||||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_POOL_ALLOC". Use either "yes" or "no".])]
|
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_POOL_ALLOC". Use either "yes" or "no".])]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
AS_IF([test "x$ac_cv_hidden_visibility_attribute" = "xyes"], [
|
||||||
|
AS_IF([test "x$ARG_ENABLE_FULL_EXPORT" = "xno"], [
|
||||||
|
CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
|
||||||
|
CFLAGS="$CFLAGS -fvisibility=hidden"
|
||||||
|
LDFLAGS="$LDFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
AS_ECHO
|
AS_ECHO
|
||||||
AS_ECHO "Checking for extra build files:"
|
AS_ECHO "Checking for extra build files:"
|
||||||
|
|
||||||
|
@ -476,7 +490,11 @@ AS_CASE(["$ARG_ENABLE_EXAMPLES"],
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether test files should be built])
|
AC_MSG_CHECKING([whether test files should be built])
|
||||||
AS_CASE(["$ARG_ENABLE_TESTS"],
|
AS_CASE(["$ARG_ENABLE_TESTS"],
|
||||||
["yes"], [AC_MSG_RESULT([yes])],
|
["yes"], [
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
AC_DEFINE([TORRENT_EXPORT_EXTRA],[1],[Define to export additional symbols for unit tests.])
|
||||||
|
COMPILETIME_OPTIONS="$COMPILETIME_OPTIONS -DTORRENT_EXPORT_EXTRA "
|
||||||
|
],
|
||||||
["no"], [AC_MSG_RESULT([no])],
|
["no"], [AC_MSG_RESULT([no])],
|
||||||
[AC_MSG_RESULT([$ARG_ENABLE_TESTS])
|
[AC_MSG_RESULT([$ARG_ENABLE_TESTS])
|
||||||
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_TESTS". Use either "yes" or "no".])]
|
AC_MSG_ERROR([Unknown option "$ARG_ENABLE_TESTS". Use either "yes" or "no".])]
|
||||||
|
|
|
@ -253,12 +253,8 @@ namespace libtorrent
|
||||||
, sha1_hash const& info_hash);
|
, sha1_hash const& info_hash);
|
||||||
~torrent();
|
~torrent();
|
||||||
|
|
||||||
sha1_hash const& info_hash() const
|
// This may be called from multiple threads
|
||||||
{
|
sha1_hash const& info_hash() const { return m_info_hash; }
|
||||||
TORRENT_ASSERT(m_torrent_file);
|
|
||||||
static sha1_hash empty;
|
|
||||||
return m_torrent_file ? m_torrent_file->info_hash() : empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool is_deleted() const { return m_deleted; }
|
bool is_deleted() const { return m_deleted; }
|
||||||
|
|
||||||
|
@ -1307,6 +1303,10 @@ namespace libtorrent
|
||||||
// in this swarm
|
// in this swarm
|
||||||
time_t m_swarm_last_seen_complete;
|
time_t m_swarm_last_seen_complete;
|
||||||
|
|
||||||
|
// keep a copy if the info-hash here, so it can be accessed from multiple
|
||||||
|
// threads, and be cheap to access from the client
|
||||||
|
sha1_hash m_info_hash;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// these are the lists this torrent belongs to. For more
|
// these are the lists this torrent belongs to. For more
|
||||||
// details about each list, see session_impl.hpp. Each list
|
// details about each list, see session_impl.hpp. Each list
|
||||||
|
|
|
@ -1212,11 +1212,13 @@ namespace libtorrent
|
||||||
#endif // TORRENT_USE_WSTRING
|
#endif // TORRENT_USE_WSTRING
|
||||||
#endif // TORRENT_NO_DEPRECATE
|
#endif // TORRENT_NO_DEPRECATE
|
||||||
|
|
||||||
// Enables or disabled super seeding/initial seeding for this torrent. The torrent
|
// Enables or disabled super seeding/initial seeding for this torrent.
|
||||||
// needs to be a seed for this to take effect.
|
// The torrent needs to be a seed for this to take effect.
|
||||||
void super_seeding(bool on) const;
|
void super_seeding(bool on) const;
|
||||||
|
|
||||||
// ``info_hash()`` returns the info-hash for the torrent.
|
// ``info_hash()`` returns the info-hash of the torrent. If this handle
|
||||||
|
// is to a torrent that hasn't loaded yet (for instance by being added)
|
||||||
|
// by a URL, the returned value is undefined.
|
||||||
sha1_hash info_hash() const;
|
sha1_hash info_hash() const;
|
||||||
|
|
||||||
// comparison operators. The order of the torrents is unspecified
|
// comparison operators. The order of the torrents is unspecified
|
||||||
|
|
|
@ -164,6 +164,7 @@ namespace libtorrent
|
||||||
, m_completed_time(0)
|
, m_completed_time(0)
|
||||||
, m_last_seen_complete(0)
|
, m_last_seen_complete(0)
|
||||||
, m_swarm_last_seen_complete(0)
|
, m_swarm_last_seen_complete(0)
|
||||||
|
, m_info_hash(info_hash)
|
||||||
, m_num_verified(0)
|
, m_num_verified(0)
|
||||||
, m_last_saved_resume(ses.session_time())
|
, m_last_saved_resume(ses.session_time())
|
||||||
, m_started(ses.session_time())
|
, m_started(ses.session_time())
|
||||||
|
@ -620,6 +621,7 @@ namespace libtorrent
|
||||||
alerts().post_alert(torrent_update_alert(get_handle(), info_hash(), tf->info_hash()));
|
alerts().post_alert(torrent_update_alert(get_handle(), info_hash(), tf->info_hash()));
|
||||||
|
|
||||||
m_torrent_file = tf;
|
m_torrent_file = tf;
|
||||||
|
m_info_hash = tf->info_hash();
|
||||||
|
|
||||||
// now, we might already have this torrent in the session.
|
// now, we might already have this torrent in the session.
|
||||||
boost::shared_ptr<torrent> t = m_ses.find_torrent(m_torrent_file->info_hash()).lock();
|
boost::shared_ptr<torrent> t = m_ses.find_torrent(m_torrent_file->info_hash()).lock();
|
||||||
|
@ -8347,6 +8349,11 @@ namespace libtorrent
|
||||||
TORRENT_ASSERT((!m_allow_peers || m_graceful_pause_mode) && is_seed()); break;
|
TORRENT_ASSERT((!m_allow_peers || m_graceful_pause_mode) && is_seed()); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_torrent_file)
|
||||||
|
{
|
||||||
|
TORRENT_ASSERT(m_info_hash == m_torrent_file->info_hash());
|
||||||
|
}
|
||||||
|
|
||||||
#if defined TORRENT_DEBUG || TORRENT_RELEASE_ASSERTS
|
#if defined TORRENT_DEBUG || TORRENT_RELEASE_ASSERTS
|
||||||
for (int i = 0; i < aux::session_interface::num_torrent_lists; ++i)
|
for (int i = 0; i < aux::session_interface::num_torrent_lists; ++i)
|
||||||
{
|
{
|
||||||
|
|
|
@ -216,9 +216,10 @@ namespace libtorrent
|
||||||
|
|
||||||
sha1_hash torrent_handle::info_hash() const
|
sha1_hash torrent_handle::info_hash() const
|
||||||
{
|
{
|
||||||
|
boost::shared_ptr<torrent> t = m_torrent.lock();
|
||||||
const static sha1_hash empty;
|
const static sha1_hash empty;
|
||||||
TORRENT_SYNC_CALL_RET(sha1_hash, empty, info_hash);
|
if (!t) return empty;
|
||||||
return r;
|
return t->info_hash();
|
||||||
}
|
}
|
||||||
|
|
||||||
int torrent_handle::max_uploads() const
|
int torrent_handle::max_uploads() const
|
||||||
|
|
|
@ -177,6 +177,7 @@ test_time_critical_SOURCES = test_time_critical.cpp
|
||||||
test_super_seeding_SOURCES = test_super_seeding.cpp
|
test_super_seeding_SOURCES = test_super_seeding.cpp
|
||||||
test_swarm_SOURCES = test_swarm.cpp
|
test_swarm_SOURCES = test_swarm.cpp
|
||||||
test_tailqueue_SOURCES = test_tailqueue.cpp
|
test_tailqueue_SOURCES = test_tailqueue.cpp
|
||||||
|
test_resume_SOURCES = test_resume.cpp
|
||||||
test_rss_SOURCES = test_rss.cpp
|
test_rss_SOURCES = test_rss.cpp
|
||||||
test_ssl_SOURCES = test_ssl.cpp
|
test_ssl_SOURCES = test_ssl.cpp
|
||||||
test_threads_SOURCES = test_threads.cpp
|
test_threads_SOURCES = test_threads.cpp
|
||||||
|
|
Loading…
Reference in New Issue