summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2015-06-29 15:27:56 +0200
committerUlf Hermann <ulf.hermann@theqtcompany.com>2015-06-29 15:28:24 +0200
commitf9607e3929ebb1e4af88c6a8ab742a2a40dc4459 (patch)
tree3e1cf26a1d0953d6a6755411ab5c85e0d7a316b5
parent1dedc1c6b7d1b73c4e9fbe242bbbac2dec5340d7 (diff)
parent840002bd948a60fb0ccb3f63c5e8516d2d2f5a32 (diff)
Merge remote-tracking branch 'origin/stable'
-rw-r--r--3rdparty/elfutils/libcpu/i386_gendis/i386_gendis.pro4
-rw-r--r--app/main.cpp24
-rw-r--r--app/perfstdin.cpp3
3 files changed, 13 insertions, 18 deletions
diff --git a/3rdparty/elfutils/libcpu/i386_gendis/i386_gendis.pro b/3rdparty/elfutils/libcpu/i386_gendis/i386_gendis.pro
index e6dd4de..d4c3cb7 100644
--- a/3rdparty/elfutils/libcpu/i386_gendis/i386_gendis.pro
+++ b/3rdparty/elfutils/libcpu/i386_gendis/i386_gendis.pro
@@ -15,10 +15,10 @@ mnemonics64.commands = make -f $$PWD/../extras.mk srcdir=$$PWD/../ x86_64.mnemon
mylex.target = i386_lex.c
mylex.depends = i386_parse.c
-mylex.commands = lex -Pi386_ -o i386_lex.c $$PWD/../i386_lex.l
+mylex.commands = flex -Pi386_ -o i386_lex.c $$PWD/../i386_lex.l
myyacc.target = i386_parse.c
-myyacc.commands = yacc -pi386_ -d -o i386_parse.c $$PWD/../i386_parse.y
+myyacc.commands = bison -pi386_ -d -o i386_parse.c $$PWD/../i386_parse.y
OTHER_FILES += \
$$PWD/../extras.mk \
diff --git a/app/main.cpp b/app/main.cpp
index 0c21e0e..e50f242 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -61,8 +61,6 @@ private:
int main(int argc, char *argv[])
{
- int exitCode = -1;
-
QCoreApplication app(argc, argv);
app.setApplicationName(QLatin1String("perfparser"));
app.setApplicationVersion(QLatin1String("1.0"));
@@ -191,7 +189,8 @@ int main(int argc, char *argv[])
if (unwind.architecture() == PerfRegisterInfo::ARCH_INVALID) {
qWarning() << "No information about CPU architecture found. Cannot unwind.";
- app.exit(MissingData);
+ qApp->exit(MissingData);
+ return;
}
QObject::connect(infile.data(), &QIODevice::readyRead, &data, &PerfData::read);
@@ -199,17 +198,16 @@ int main(int argc, char *argv[])
data.read();
});
- QObject::connect(&header, &PerfHeader::error, [&]() {
- app.exit(HeaderError);
+ QObject::connect(&header, &PerfHeader::error, []() {
+ qApp->exit(HeaderError);
});
- QObject::connect(&data, &PerfData::finished, [&]() {
- exitCode = NoError;
- app.exit(NoError);
+ QObject::connect(&data, &PerfData::finished, []() {
+ qApp->exit(NoError);
});
- QObject::connect(&data, &PerfData::error, [&]() {
- app.exit(DataError);
+ QObject::connect(&data, &PerfData::error, []() {
+ qApp->exit(DataError);
});
if (parser.isSet(host)) {
@@ -221,10 +219,10 @@ int main(int argc, char *argv[])
} else {
if (!infile->open(QIODevice::ReadOnly))
return CannotOpen;
- header.read();
+ QMetaObject::invokeMethod(&header, "read", Qt::QueuedConnection);
}
- return exitCode == -1 ? app.exec() : NoError;
+ return app.exec();
}
@@ -232,7 +230,7 @@ void PerfTcpSocket::processError(QAbstractSocket::SocketError error)
{
if (reading) {
qWarning() << "socket error" << error << errorString();
- QCoreApplication::instance()->exit(TcpSocketError);
+ qApp->exit(TcpSocketError);
} // Otherwise ignore the error. We don't need the socket anymore
}
diff --git a/app/perfstdin.cpp b/app/perfstdin.cpp
index 5a70976..a5d237c 100644
--- a/app/perfstdin.cpp
+++ b/app/perfstdin.cpp
@@ -26,9 +26,6 @@ bool PerfStdin::open(QIODevice::OpenMode mode)
{
if (!(mode & QIODevice::ReadOnly) || (mode & QIODevice::WriteOnly))
return false;
- char cReadMode[3] = {'r', (mode & QIODevice::Text) == 0 ? 'b' : '\0', '\0'};
- if (!freopen(0, cReadMode, stdin))
- return false;
return QIODevice::open(mode);
}