From 7e554e8b1b957e2c1577810afe4deebfa872ffa4 Mon Sep 17 00:00:00 2001 From: rakshasa Date: Wed, 10 Nov 2010 11:40:28 +0000 Subject: [PATCH] * Fixed various valgrind warnings. git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1189 e378c898-3ddf-0310-93e7-cc216c733640 --- rak/allocators.h | 2 +- src/command_download.cc | 2 +- src/main.cc | 1 + src/thread_base.cc | 5 ++--- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rak/allocators.h b/rak/allocators.h index 4de98102..0a1b7117 100644 --- a/rak/allocators.h +++ b/rak/allocators.h @@ -84,7 +84,7 @@ public: void construct (pointer p, const T& value) { new((void*)p)T(value); } void destroy (pointer p) { p->~T(); } - void deallocate (pointer p, size_type num) { ::operator delete((void*)p); } + void deallocate (pointer p, size_type num) { free((void*)p); } }; diff --git a/src/command_download.cc b/src/command_download.cc index 378f2dc5..44872086 100644 --- a/src/command_download.cc +++ b/src/command_download.cc @@ -472,7 +472,7 @@ p_call_target(const torrent::Object::list_type& args) { // New download commands and macros: // -torrent::Object +torrent::Object& download_get_variable(core::Download* download, const char* first_key, const char* second_key = NULL) { if (second_key == NULL) return download->bencode()->get_key(first_key); diff --git a/src/main.cc b/src/main.cc index 8725e735..7b1ce6c7 100644 --- a/src/main.cc +++ b/src/main.cc @@ -177,6 +177,7 @@ main(int argc, char** argv) { SignalHandler::set_handler(SIGTERM, sigc::mem_fun(control, &Control::receive_quick_shutdown)); SignalHandler::set_handler(SIGWINCH, sigc::mem_fun(control->display(), &display::Manager::force_redraw)); SignalHandler::set_handler(SIGSEGV, sigc::bind(sigc::ptr_fun(&do_panic), SIGSEGV)); + SignalHandler::set_handler(SIGILL, sigc::bind(sigc::ptr_fun(&do_panic), SIGILL)); SignalHandler::set_handler(SIGBUS, sigc::bind(sigc::ptr_fun(&do_panic), SIGBUS)); SignalHandler::set_handler(SIGFPE, sigc::bind(sigc::ptr_fun(&do_panic), SIGFPE)); diff --git a/src/thread_base.cc b/src/thread_base.cc index 35c2e377..8d1c5b79 100644 --- a/src/thread_base.cc +++ b/src/thread_base.cc @@ -61,7 +61,7 @@ public: static const unsigned int max_size = 32; - thread_queue_hack() { std::memset(m_queue, 0, sizeof(thread_queue_hack)); } + thread_queue_hack() { std::memset(this, 0, sizeof(thread_queue_hack)); } void lock() { while (!__sync_bool_compare_and_swap(&m_lock, 0, 1)) usleep(0); } void unlock() { __sync_bool_compare_and_swap(&m_lock, 1, 0); } @@ -94,8 +94,7 @@ public: } void clear_and_unlock() { - std::memset(m_queue, 0, sizeof(value_type) * (max_size + 1)); - m_lock = 0; + std::memset(this, 0, sizeof(thread_queue_hack)); __sync_synchronize(); }