[Bug 22338] New: spawnl(P_WAIT, "...") and system() do not wait if a host program is invoked

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Apr 11 07:40:22 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=22338

           Summary: spawnl(P_WAIT, "...") and system() do not wait if a
                    host program is invoked
           Product: Wine
           Version: unspecified
          Platform: x86
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: msvcrt
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: bonzini at gnu.org


Sample program:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
        int i;
        if (argc == 2)
                system (argv[1]);
        for (i = 0; i < 10000; i++)
                puts (argc == 2 ? "a" : "b");
}

Compile it for both Windows and Linux:

  gcc test.c
  i686-pc-mingw32-gcc test.c

Now, running a Windows child process will correctly wait for the child process
to finish:

  $ ./a.exe ./a.exe |uniq
  b
  a

Instead, Wine will not wait for a Linux child process to finish:

  $ ./a.exe ./a.out |uniq
  a
  b
  a

I _think_ i can work around the bug by wrapping the Unix program with a wrapper
that links to libwine, but I am not yet sure.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list