-
How to use this patch:
put udt.sdk.4.2.gnu.tar.gz and udt_gnu_pkg.20081009.patch in your working dir.
[~]$ tar zxvf udt.sdk.4.2.gnu.tar.gz
[~]$ cd udt_gnu_pkg
[udt_gnu_pkg]$ patch -p1 < ../udt_gnu_pkg.20081009.patch.
2008-10-09 12:50:50 UTC in udt
-
This path fixes built problem for udt.sdk.4.2.gnu.tar.gz caused by missed new md5.cpp file
in Makefile.am. It also contains another minor make fixes.
2008-10-09 12:41:04 UTC in udt
-
veniamin74 committed patchset 37 of module udtgate to the UDT Gateway System CVS repository, changing 4 files.
2008-10-02 12:37:10 UTC in UDT Gateway System
-
veniamin74 committed patchset 36 of module udtgate to the UDT Gateway System CVS repository, changing 6 files.
2008-04-07 12:21:04 UTC in UDT Gateway System
-
veniamin74 committed patchset 35 of module udtgate to the UDT Gateway System CVS repository, changing 1 files.
2007-12-19 11:29:07 UTC in UDT Gateway System
-
veniamin74 committed patchset 34 of module udtgate to the UDT Gateway System CVS repository, changing 12 files.
2007-12-17 23:36:12 UTC in UDT Gateway System
-
veniamin74 committed patchset 33 of module udtgate to the UDT Gateway System CVS repository, changing 23 files.
2007-11-02 20:02:35 UTC in UDT Gateway System
-
It looks like in the current UDT4 version all child connections, produced by the 'UDT::accept' call, are served by the single in/out worker thread pair.
This causes drammatical perfomance bottleneck for SMP/Multy-core/Multy-way systems.
I would be very glad to see dedicated worker threads serving connections or shared thread pool for all family.
2007-11-02 18:24:49 UTC in udt
-
Making UDP socket to be Non-blocking (chanel.cpp, rev. 1.3, line 135) for system without RCV_TIMEIO cause 100% thread CPU usage, at least on sparc/solaris.
It can be fixed with the code like this:
chanel.cpp, CChannel::recvfrom(), line ~254:
+#ifdef UNIX
+ fd_set set;
+ timeval tv;
+ FD_ZERO(&set);
+ FD_SET(m_iSocket, &set);
+ tv.tv_sec = 0;
+ tv.tv_usec = 100;
+...
2007-11-02 18:05:38 UTC in udt
-
Perhaps, I found the error.
You use system-wide SOCK_STREAM and SOCK_DGRAM definitions in the protocol, but
they have different values in Linux and Solaris:
Linux:
SOCK_STREAM = 1
SOCK_DGRAM = 2
Solaris:
SOCK_STREAM = 2
SOCK_DGRAM = 1
Consequently, handshake packet rejected as wrong socket type:
> CUDT::listen() (line 2037): packet.getFlag() = 1 packet.getType() = 0
> 2047...
2007-11-02 13:00:00 UTC in udt