Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-12402

cmd executes commands async when it shouldnt

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 0.4.4
    • Applications
    • None
    • November 2016

    Description

      tested and failed on r73237:

      An experiment:
      Do never open a file browser before any of these tests or it will bias the result, as explorer filebrowser is using ntobjshex.dll! and will lock it.
      Do a fresh install before every of this tests to have the same preconditions.
      ---------------------------------------------------------------
      test1:
      -directly after ros install open cmd
      type

      regsvr32 /s /u ntobjshex.dll

      expected result == observed result == dll gets unregistered
      ---------------------------------------------------------------
      test2:
      -directly after ros install open cmd
      type

      del C:\reactos\system32\ntobjshex.dll

      expected result == observed result == dll gets deleted (not unregistered)
      ---------------------------------------------------------------
      test3:
      -directly after ros install start the following batch-file on desktop (and wait a second before continueing the first pause within):

      regsvr32 /s /u ntobjshex.dll
      pause
      del C:\reactos\system32\ntobjshex.dll
      pause

      expected result == observed result == dll gets unregistered and deleted
      ---------------------------------------------------------------
      test4:
      -directly after ros install start the following batch-file on desktop:

      regsvr32 /s /u ntobjshex.dll
      del C:\reactos\system32\ntobjshex.dll
      pause

      expected result: dll gets unregistered and deleted
      observed result: most of the time the dll gets not unregistered but properly deleted - OUCH!
      ---------------------------------------------------------------
      To make expected result == observed result in test4, the batch has to wait until the regsvr32 command is done before running the del command.
      In other words regsvr32 should be blocking.

      Attachments

        1. cmd.c.patch
          1 kB
          Mark Jansen
        2. CORE-12402-justAnIdea.patch
          2 kB
          reactosfanboy
        3. CORE-12402-v2.patch
          0.6 kB
          reactosfanboy
        4. r73237-withoutSilentArgument.png
          42 kB
          reactosfanboy
        5. r73237-wrapperWithCmdDebugChannel.log
          4 kB
          reactosfanboy

        Activity

          People

            learn_more Mark Jansen
            reactosfanboy reactosfanboy
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: