rewrite gdb output receiver

fixes chopping up of very long responses which quickly follow other
responses.

the line segmentation is done in readGdbStandardOutput() now.
handleResponse() is not called through a queued slot any more, as the
output receiver is already synchronized to the event loop.
This commit is contained in:
Oswald Buddenhagen
2009-02-24 20:34:30 +01:00
parent a340a9937d
commit e00b90ccd5
2 changed files with 175 additions and 222 deletions

View File

@@ -92,7 +92,6 @@ public:
~GdbEngine();
signals:
void gdbResponseAvailable();
void gdbInputAvailable(const QString &prefix, const QString &msg);
void gdbOutputAvailable(const QString &prefix, const QString &msg);
void applicationOutputAvailable(const QString &output);
@@ -173,8 +172,6 @@ private:
void updateLocals();
private slots:
void handleResponse();
void gdbProcError(QProcess::ProcessError error);
void readGdbStandardOutput();
void readGdbStandardError();
@@ -182,6 +179,7 @@ private slots:
private:
int terminationIndex(const QByteArray &buffer, int &length);
void handleResponse(const QByteArray &buff);
void handleStart(const GdbResultRecord &response);
void handleAttach();
void handleAqcuiredInferior();