[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] /srv/bzr/gnash/trunk r11773: return an error if the strea
From: |
Rob Savoye |
Subject: |
[Gnash-commit] /srv/bzr/gnash/trunk r11773: return an error if the stream doesn't fully get transferred. Handle an aborted disk stream, close the network connection. |
Date: |
Tue, 19 Jan 2010 14:00:32 -0700 |
User-agent: |
Bazaar (2.0.2) |
------------------------------------------------------------
revno: 11773
committer: Rob Savoye <address@hidden>
branch nick: trunk
timestamp: Tue 2010-01-19 14:00:32 -0700
message:
return an error if the stream doesn't fully get transferred. Handle an
aborted disk stream, close the network connection.
modified:
cygnal/cygnal.cpp
libnet/diskstream.cpp
=== modified file 'cygnal/cygnal.cpp'
--- a/cygnal/cygnal.cpp 2010-01-19 20:32:59 +0000
+++ b/cygnal/cygnal.cpp 2010-01-19 21:00:32 +0000
@@ -1048,8 +1048,14 @@
//ds->dump();
// Only play the next chunk of the file.
//log_network("Sending following chunk of %s", ds->getFilespec());
- ds->play(i, false);
- if (ds->getState() == DiskStream::CLOSED) {
+ if (ds->play(i, false)) {
+ if (ds->getState() == DiskStream::CLOSED) {
+ net.closeNet(args->netfd);
+ hand->removeClient(args->netfd);
+ done = true;
+ }
+ } else {
+ // something went wrong, the stream failed
net.closeNet(args->netfd);
hand->removeClient(args->netfd);
done = true;
@@ -1146,12 +1152,14 @@
// hand->removeClient(args->netfd);
// done = true;
}
+#if 0
retries++;
- // if (retries >= 10) {
- // net.closeNet(args->netfd);
- // hand->removeClient(args->netfd);
- // done = true;
- // }
+ if (retries >= 10) {
+ net.closeNet(args->netfd);
+ hand->removeClient(args->netfd);
+ done = true;
+ }
+#endif
} while (!done);
tids.decrement();
=== modified file 'libnet/diskstream.cpp'
--- a/libnet/diskstream.cpp 2010-01-11 06:41:38 +0000
+++ b/libnet/diskstream.cpp 2010-01-19 21:00:32 +0000
@@ -750,13 +750,13 @@
netfd, strerror(errno));
}
#endif
- log_debug("Done playing file %s, size was: %d", _filespec,
_filesize);
+ log_network("Done playing file %s, size was: %d", _filespec,
_filesize);
close();
done = true;
// reset to the beginning of the file
_offset = 0;
} else {
- log_debug("\tPlaying part of file %s, offset is: %d",
_filespec, _offset);
+ log_network("\tPlaying part of file %s, offset is: %d out of
%d bytes.", _filespec, _offset, _filesize);
#ifdef HAVE_SENDFILE_XX
ret = sendfile(netfd, _filefd, &_offset, _pagesize);
#else
@@ -765,6 +765,7 @@
log_error("In %s(%d): couldn't write %d of bytes of data
to net fd #%d! Got %d, %s",
__FUNCTION__, __LINE__, _pagesize, netfd,
ret, strerror(errno));
+ return false;
}
_offset += _pagesize;
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/trunk r11773: return an error if the stream doesn't fully get transferred. Handle an aborted disk stream, close the network connection.,
Rob Savoye <=