mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-08-10 20:22:31 +00:00
* Fixed a race condition where the releasing of the global lock before calling polling would cause problems. Now a thread that acquires the global lock and wants to remove or change fd's from the main thread.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1182 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
@@ -196,3 +196,13 @@ ThreadBase::queue_item(thread_base_func newFunc) {
|
||||
if (m_state == STATE_ACTIVE)
|
||||
pthread_kill(m_thread, SIGUSR1);
|
||||
}
|
||||
|
||||
void
|
||||
ThreadBase::interrupt_main_polling() {
|
||||
do {
|
||||
if (!ThreadBase::is_main_polling())
|
||||
return;
|
||||
|
||||
pthread_kill(main_thread->m_thread, SIGUSR1);
|
||||
} while (1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user