streamts.cpp StreamInstance::Send: do not block neutrino by faulty stream

This commit is contained in:
Jacek Jendrzej
2014-04-07 16:01:27 +02:00
parent 022608cb98
commit c170b03b9a

View File

@@ -113,11 +113,15 @@ bool CStreamInstance::Stop()
bool CStreamInstance::Send(ssize_t r) bool CStreamInstance::Send(ssize_t r)
{ {
OpenThreads::ScopedLock<OpenThreads::Mutex> m_lock(mutex); //OpenThreads::ScopedLock<OpenThreads::Mutex> m_lock(mutex);
stream_fds_t cfds;
mutex.lock();
cfds = fds;
mutex.unlock();
int flags = 0; int flags = 0;
if (fds.size() > 1) if (cfds.size() > 1)
flags = MSG_DONTWAIT; flags = MSG_DONTWAIT;
for (stream_fds_t::iterator it = fds.begin(); it != fds.end(); ++it) { for (stream_fds_t::iterator it = cfds.begin(); it != cfds.end(); ++it) {
int i = 10; int i = 10;
unsigned char *b = buf; unsigned char *b = buf;
ssize_t count = r; ssize_t count = r;