This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] cygwin+bash: bash reorders script output bug identified/fixed


Manfred Spraul wrote:
...
Summary:
* It's a bash bug, not a cygwin bug.
* defining RECYCLES_PIDS in execute_cmd.c solves the problem.
* RECYCLES_PID is intended for LynxOs, which recycles pids
      quickly according to a comment in execute_cmd.c
* All OS are potentially affected, bash basically assumes
      that 2 pid values are never identical.

It seems that there are 2 possible solutions:
A) enable RECYCLES_PID in bash.
      * I'd propose that, minimal patch attached.
B) work around the bash bug in cygwin.
      fork.cc already contains a special function that prevents 2
          consecutive fork() calls from reusing the same pid:
          slow_pid_reuse().
This may have been what I was running into as well. See http://cygwin.com/ml/cygwin/2002-07/msg01894.html

When doing the same compiles with in a window with tcsh running (even if bash gets invoked later on) the process numbers seem to increase much more slowly. If you do a large compile using bash as your shell, do you see process numbers creeping upward (in task manager) gradually as well?

Thanks,
Nils.


--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]