Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-27489

Get rid of IDevice::signalOperation()

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P2: Important
    • None
    • None
    • All Other Issues
    • None
    • All

    Description

      Rely on ProcessInterface::sendControlSignal() instead.

      It looks like in some cases we are using DeviceProcessSignalOperation for killing a process without having associated QtcProcess instance:

      SshDeviceProcessList::doKillProcess()
      LocalProcessList::doKillProcess()
      

      It kills the selected process using processId.

      RemoteLinuxKillAppService::doDeploy()
      

      It kills the process using path.

      So we should still be able to do this without having associated process instance.

      In addition we currently have 2 usages of DeviceProcessSignalOperation for interrupting running process:

      CdbEngine::doInterruptInferior()
      GdbEngine::interruptInferior()
      

      In this case most probably they may be substituted with a call to associated QtcProcess::interrupt().

      Moreover, the:

      Debugger::Internal::interruptProcess()
      

      used on linux for local and remote, implements its own interrupt by calling kill with SIG_INT - this should be most probably replaced by a call to QtcProcess::interrupt().

      We should also probably implement QtcProcess::interrupt() by sending SIG_INT on linux, and invoking the magic code that exists inside procinterrupt.cpp on windows.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            jkobus Jarek Kobus
            jkobus Jarek Kobus
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes