[Bug 37345] New: Wine does not flush stdout if stdout is redirected (Regression!)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Oct 1 04:06:47 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=37345

            Bug ID: 37345
           Summary: Wine does not flush stdout if stdout is redirected
                    (Regression!)
           Product: Wine
           Version: 1.7.27
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: P2
         Component: msvcrt
          Assignee: wine-bugs at winehq.org
          Reporter: anduchs at gmail.com

When calling wine from another process after redirecting stdout to a pipe, wine
does not flush the stdout-buffer correctly anymore. This is a regression.

Attached is a usecase. To test do:
i686-w64-mingw32-gcc helloworld.c
gcc callwine.c
./a.out

What will happen is:
- on a buggy wine it will take 10 seconds and then all of the stdout-buffer is
flushed on the exit of the child. (imagine the child would run longer than the
10 seconds)
- on a good wine we will see some stdout-content then 10 second sleep and then
the rest of the content.

This is a regesstion that happened between 1.7.4 and 1.7.5. The bisect
identified commit afec0b00bd6250fe21e8deccbc8116a4aca6a7a4 "msvcrt: Make the
first call to fwrite buffered." as problem.

The attached patch is a revert of this commit ported forward to 1.7.27.
Unfortunately I don't quite grasp the logics of the offending commit. If
somebody who knows that patch could help, I'd highly appreciate it.

Cheers,
Andreas


P.S. This could be related to bug 32791.

-- 
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