diff --git a/tools/cabana/cabana.cc b/tools/cabana/cabana.cc index e7e3eb213b..3e76a3e029 100644 --- a/tools/cabana/cabana.cc +++ b/tools/cabana/cabana.cc @@ -1,5 +1,7 @@ #include +#include #include +#include #include "selfdrive/ui/qt/util.h" #include "tools/cabana/mainwin.h" @@ -20,12 +22,22 @@ int main(int argc, char *argv[]) { cmd_parser.showHelp(); } + QString uuid = QUuid::createUuid().toString(QUuid::WithoutBraces); + QString msgq_path = "/dev/shm/" + uuid; + + QDir dir; + dir.mkdir(msgq_path); + setenv("OPENPILOT_PREFIX", qPrintable(uuid), 1); + + int ret = 0; const QString route = args.empty() ? DEMO_ROUTE : args.first(); CANMessages p(&app); - if (!p.loadRoute(route, cmd_parser.value("data_dir"), cmd_parser.isSet("qcam"))) { - return 0; + if (p.loadRoute(route, cmd_parser.value("data_dir"), cmd_parser.isSet("qcam"))) { + MainWindow w; + w.showMaximized(); + ret = app.exec(); } - MainWindow w; - w.showMaximized(); - return app.exec(); + + dir.rmdir(msgq_path); + return ret; }