Запуск приложений в QT с поддержкой нитей

Автор: cat666 Дата: 02.11.2003 23:12 Немогу запустить другое приложение, не с помощью
QProcess не стандартным способом с помощью fork, иногда вываливаюсь с Segmentation fault, отладка показала, что висну, где-то на уровне функции sigsuspend в libc, но справится с этой фигнёй не могу.
Подскажите чё нибудь... А то я уже запарился.

Буду конкретнее, я не могу запустить новый процесс непосредственно из нити. Приложение глухо виснет.
Re: Запуск приложений в QT с поддержкой нитей 05.11.2003 05:15olkv У меня приложения запускаются с помощью QProcess легко.
Пример :

QProcess *proc = QProcess(this);

proc->addParameters("mozilla";-);
...
proc->start();

А вообще ошибка типа Segmentation fault у меня бывает выскакивает в слудующих случаях (правда невсегда):

Есть form1, которя вызывает form2. Вношу изменения в form2, делйю make,
ошибок нет. Запускаю прогу, при вызове form2 выскакивает ошибка Segmentation fault.
Удаляю файлы form1.o и form1_moc.o, делаю make и все работает без ошибок.
Re: Запуск приложений в QT с поддержкой нитей 05.11.2003 23:33XMan Вообще ошибка типа Segmentation fault - это самая неприятная ошибка, потому как никогда незнаешь где она произошла и из-за чего. Причем, ошибка в коде может присутствовать постоянно, а вылетать программа будет не всегда. Чаще всего происходит из-за переполнения при копировании (выделили память на 10 символов и вписали туда 10 символов... только про завершающий 0 забыли... вот и получите), при обращении к еще не выделенной или уже освобожденной памяти и при освобождении уже освобожденной памяти.

Причем, ошибка может проявиться не в самОм месте с ошибочным кодом, а в любом другом. У меня так ни с того ни с сего начал "глючить" драйвер базы данных (не мой - стандартный, из поставки, который всегда работал без проблем). Оказалось, я два раза сделал free на одну и ту же память Улыбка

Рекомендую посмотреть "man malloc" на предмет переменной окружения "MALLOC_CHECK_". Сразу куча вопросов может исчезнуть.
Re: Запуск приложений в QT с поддержкой нитей 06.11.2003 04:52cat666 Malloc я вообще не использую, по крайней мере явно. Неужели так сложно всосать суть вопроса.
Как в Qt из нити корректно запустить процесс не подвесив софтину. А Segmentation fault в Qt можно заработать и запросто так потому как багов там куча начиная с moc и заканчивая всем остальным, включая кривую поддержку нитей.
И если ставить вопрос ребром, кто-нибудь писал подобный код я имею в виду запуск процесса из нити в Qt, если да то поделитись кодом или советом.
RSS-материал