summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorjonas@perch.ndb.mysql.com <>2007-05-18 11:06:35 +0200
committerjonas@perch.ndb.mysql.com <>2007-05-18 11:06:35 +0200
commit91f3074e31ac197afd4cf87f6e05eac28a08f0ec (patch)
tree6cb6fd2c95822c73d8e3c98b6f83ee648beac0f5 /ndb
parentdb6f46437f299a5f887082a9fb29415014ae7560 (diff)
parentb9fd34a9ff46daeeb71ddff6aea3b98cf49f50e7 (diff)
downloadmariadb-git-91f3074e31ac197afd4cf87f6e05eac28a08f0ec.tar.gz
Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
Diffstat (limited to 'ndb')
-rw-r--r--ndb/src/common/transporter/TransporterRegistry.cpp34
1 files changed, 18 insertions, 16 deletions
diff --git a/ndb/src/common/transporter/TransporterRegistry.cpp b/ndb/src/common/transporter/TransporterRegistry.cpp
index c0ee93a8489..c459b5640dc 100644
--- a/ndb/src/common/transporter/TransporterRegistry.cpp
+++ b/ndb/src/common/transporter/TransporterRegistry.cpp
@@ -814,22 +814,6 @@ TransporterRegistry::poll_TCP(Uint32 timeOutMillis)
return 0;
}
- struct timeval timeout;
-#ifdef NDB_OSE
- // Return directly if there are no TCP transporters configured
-
- if(timeOutMillis <= 1){
- timeout.tv_sec = 0;
- timeout.tv_usec = 1025;
- } else {
- timeout.tv_sec = timeOutMillis / 1000;
- timeout.tv_usec = (timeOutMillis % 1000) * 1000;
- }
-#else
- timeout.tv_sec = timeOutMillis / 1000;
- timeout.tv_usec = (timeOutMillis % 1000) * 1000;
-#endif
-
NDB_SOCKET_TYPE maxSocketValue = -1;
// Needed for TCP/IP connections
@@ -855,6 +839,24 @@ TransporterRegistry::poll_TCP(Uint32 timeOutMillis)
hasdata |= t->hasReceiveData();
}
+ timeOutMillis = hasdata ? 0 : timeOutMillis;
+
+ struct timeval timeout;
+#ifdef NDB_OSE
+ // Return directly if there are no TCP transporters configured
+
+ if(timeOutMillis <= 1){
+ timeout.tv_sec = 0;
+ timeout.tv_usec = 1025;
+ } else {
+ timeout.tv_sec = timeOutMillis / 1000;
+ timeout.tv_usec = (timeOutMillis % 1000) * 1000;
+ }
+#else
+ timeout.tv_sec = timeOutMillis / 1000;
+ timeout.tv_usec = (timeOutMillis % 1000) * 1000;
+#endif
+
// The highest socket value plus one
maxSocketValue++;