comparison data/fft/FFTDataServer.cpp @ 497:b6dc6c7f402c

Various fixes: * Fix handling of HTTP redirects (avoiding crashes... I hope) * Fix failure to delete FFT models when a feature extraction model transformer was abandoned (also a cause of crashes in the past) * Fix deadlock when said transform was abandoned before its source model was ready because the session was being cleared (and so the source model would never be ready)
author Chris Cannam
date Fri, 28 Nov 2008 13:36:13 +0000
parents 3e0f1f7bec85
children 83eae5239db6
comparison
equal deleted inserted replaced
496:05383ee78f3e 497:b6dc6c7f402c
449 << server << std::endl; 449 << server << std::endl;
450 #endif 450 #endif
451 451
452 if (i->second.second > 0) { 452 if (i->second.second > 0) {
453 std::cerr << "WARNING: FFTDataServer::modelAboutToBeDeleted: Model " << model << " (\"" << model->objectName().toStdString() << "\") is about to be deleted, but is still being referred to by FFT server " << server << " with non-zero refcount " << i->second.second << std::endl; 453 std::cerr << "WARNING: FFTDataServer::modelAboutToBeDeleted: Model " << model << " (\"" << model->objectName().toStdString() << "\") is about to be deleted, but is still being referred to by FFT server " << server << " with non-zero refcount " << i->second.second << std::endl;
454 server->suspendWrites();
454 return; 455 return;
455 } 456 }
456 for (ServerQueue::iterator j = m_releasedServers.begin(); 457 for (ServerQueue::iterator j = m_releasedServers.begin();
457 j != m_releasedServers.end(); ++j) { 458 j != m_releasedServers.end(); ++j) {
458 if (*j == server) { 459 if (*j == server) {