#At file:///home/jonas/src/telco-6.2/
2660 Jonas Oreland 2008-09-08
ndb - fix incorrect timeout handling in cpcd
modified:
storage/ndb/include/util/InputStream.hpp
storage/ndb/include/util/OutputStream.hpp
storage/ndb/src/cw/cpcd/APIService.cpp
=== modified file 'storage/ndb/include/util/InputStream.hpp'
--- a/storage/ndb/include/util/InputStream.hpp 2007-03-22 11:36:07 +0000
+++ b/storage/ndb/include/util/InputStream.hpp 2008-09-07 22:48:48 +0000
@@ -25,14 +25,14 @@
*/
class InputStream {
public:
- InputStream() { m_mutex= NULL; };
- virtual ~InputStream() {};
+ InputStream() { m_mutex= NULL; }
+ virtual ~InputStream() {}
virtual char* gets(char * buf, int bufLen) = 0;
/**
* Set the mutex to be UNLOCKED when blocking (e.g. select(2))
*/
- void set_mutex(NdbMutex *m) { m_mutex= m; };
- virtual void reset_timeout() {};
+ void set_mutex(NdbMutex *m) { m_mutex= m; }
+ virtual void reset_timeout() {}
protected:
NdbMutex *m_mutex;
};
@@ -57,8 +57,8 @@ public:
SocketInputStream(NDB_SOCKET_TYPE socket, unsigned read_timeout_ms = 60000);
virtual ~SocketInputStream() {}
char* gets(char * buf, int bufLen);
- bool timedout() { return m_timedout; };
- void reset_timeout() { m_timedout= false; m_timeout_remain= m_timeout_ms;};
+ bool timedout() { return m_timedout; }
+ void reset_timeout() { m_timedout= false; m_timeout_remain= m_timeout_ms;}
};
=== modified file 'storage/ndb/include/util/OutputStream.hpp'
--- a/storage/ndb/include/util/OutputStream.hpp 2008-08-05 11:53:52 +0000
+++ b/storage/ndb/include/util/OutputStream.hpp 2008-09-07 22:48:48 +0000
@@ -28,8 +28,8 @@ public:
virtual ~OutputStream() {}
virtual int print(const char * fmt, ...) = 0;
virtual int println(const char * fmt, ...) = 0;
- virtual void flush() {};
- virtual void reset_timeout() {};
+ virtual void flush() {}
+ virtual void reset_timeout() {}
};
class FileOutputStream : public OutputStream {
@@ -53,8 +53,8 @@ protected:
public:
SocketOutputStream(NDB_SOCKET_TYPE socket, unsigned write_timeout_ms = 1000);
virtual ~SocketOutputStream() {}
- bool timedout() { return m_timedout; };
- void reset_timeout() { m_timedout= false; m_timeout_remain= m_timeout_ms;};
+ bool timedout() { return m_timedout; }
+ void reset_timeout() { m_timedout= false; m_timeout_remain= m_timeout_ms;}
int print(const char * fmt, ...);
int println(const char * fmt, ...);
=== modified file 'storage/ndb/src/cw/cpcd/APIService.cpp'
--- a/storage/ndb/src/cw/cpcd/APIService.cpp 2007-10-08 13:22:25 +0000
+++ b/storage/ndb/src/cw/cpcd/APIService.cpp 2008-09-07 22:48:48 +0000
@@ -156,11 +156,14 @@ CPCDAPISession::CPCDAPISession(FILE * f,
{
m_input = new FileInputStream(f);
m_parser = new Parser<CPCDAPISession>(commands, *m_input, true, true, true);
+ m_output = 0;
}
CPCDAPISession::~CPCDAPISession() {
delete m_input;
delete m_parser;
+ if (m_output)
+ delete m_output;
}
void
@@ -171,6 +174,9 @@ CPCDAPISession::runSession(){
if(ctx.m_currentToken == 0)
break;
+ m_input->reset_timeout();
+ m_output->reset_timeout();
+
switch(ctx.m_status){
case Parser_t::Ok:
for(size_t i = 0; i<ctx.m_aliasUsed.size(); i++)
| Thread |
|---|
| • bzr commit into mysql-5.1 branch (jonas:2660) | Jonas Oreland | 8 Sep |