summaryrefslogtreecommitdiff
path: root/src/libs/utils/processutils.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Clean up legacy content from Qt 5's QProcess::setupChildProcess()Thiago Macieira2023-04-181-17/+12
| | | | | | | | | | | | | We needed a derived class because in Qt 5 we needed to override the setupChildProcess() virtual. Now have setChildProcessModifier(). The actual subclassing was removed in a prior commit; this merely cleans stuff up. Drive-by fix the arguments to setpgid: processId() always returns 0 in the child process. Change-Id: Icfe44ecf285a480fafe4fffd174d1073c0e1ddc3 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Terminal: Use QtcProcess to start terminal windowMarcus Tillmanns2023-03-211-10/+23
| | | | | | | | | | | Previously DesktopDevice::openTerminal used custom code to open a terminal window. This patch changes it to use QtcProcess with TerminalMode::On. This also removes the need for "openTerminal.py" on macOS. Change-Id: Iec978bdd19487ff8e59dcd88c35c2d01b0681022 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: Fix interrupting local processes on *nixhjk2022-11-161-1/+3
| | | | | Change-Id: I6e722379ad62c98d1e8e6d445c1eeea171ff141b Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: Adapt ProcessHelper to move to Qt 6.2hjk2022-07-141-0/+8
| | | | | | | And move constructor out-of-line. Change-Id: Iab92dbef56d60f2ec2d19b778fd968834dd72766 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Utils: Remove Debug restriction for useCtrlCStubCristian Adam2022-05-111-7/+0
| | | | | | | | | | | | | process_ctrlc_stub doesn't generate a Ctrl+C event sent via GenerateConsoleCtrlEvent for the child process to terminate. So the Debug restriction to workaround QTCREATORBUG-11995 is no longer needed. Change-Id: Iafc8b51bce17432c80b0be0c4084978abc1c909f Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* ProcessReaper: Implement custom terminate for CtrlCStub caseJarek Kobus2022-03-311-0/+76
| | | | | | | | | Move CtrlCStub-specific interrupt into ProcessHelper. Amends 7d7e4af3afb5ba9d0ed5210018dd6be67abda469 Change-Id: I5cd9a750c4a89587a874515f752b0144df4b8309 Reviewed-by: hjk <hjk@qt.io>
* Fix a possible crash in process launcherJarek Kobus2021-12-211-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | It may apparently happen that when calling QProcess::start() we may receive a synchronous signal QProcess::errorOccurred() from the process we are trying to start. In this case the handler of the error signal might have removed the process from m_processes hash, which invalidated the "Process *& process" reference inside LauncherSocketHandler::handleStartPacket(). So, using process reference after calling start() may be dangerous. Refactor ProcessStartHandler so that it stores the pointer to the process it handles. The pointer to the handler should still be valid after calling start(), since the process itself is being deleted with a delay. Make ProcessStartHandler a member of ProcessHelper. In this way it's being reused in QProcessImpl and ProcessLauncher. Fixes: QTCREATORBUG-26726 Change-Id: I8e3f39953035d76c83bbbb13bd78e3042ba2a14e Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Reuse ProcessHelper in process launcherJarek Kobus2021-08-091-4/+21
| | | | | | | | | Handle lowPriority and unixTerminalDisabled inside process launcher. Change-Id: I7a8998e303da0e79186c1201fc6e1a76edb4e1b3 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Handle setNativeArguments inside process launcherJarek Kobus2021-08-091-0/+12
| | | | | Change-Id: I4b4db2e5cf6b3ad4d8a39614573564145f125520 Reviewed-by: hjk <hjk@qt.io>
* Handle belowNormalPriority inside process launcher on WindowsJarek Kobus2021-08-091-0/+19
| | | | | | | | | Remove setCreateProcessArgumentModifier() from the ProcessInterface API and replace it with belowNormalPriority flag. Change-Id: I6bcb92e56c3a68af7fa3e3a1c8b8eb13e3a2e5a7 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: hjk <hjk@qt.io>
* Refactor openMode/keepWriteChannelOpen/closeWriteChannelJarek Kobus2021-08-091-0/+58
Change-Id: I4090533875ce1da864b6f8554ce59dbc1392a142 Reviewed-by: hjk <hjk@qt.io>