Excessive thrashing when popen()ing after a large malloc()

Christopher Faylor cgf-no-personal-reply-please@cygwin.com
Thu Nov 16 13:05:00 GMT 2006


On Wed, Nov 15, 2006 at 10:17:59PM -0500, Charles Wilson wrote:
>Christopher Faylor wrote:
>
>>Fully implementing posix_spawn is quite a bit of work although I did
>>tell Linus Torvalds that I'd look into implementing it in Cygwin
>>eventually (it would make git-on-cygwin faster).
>>
>>I have a patch in my sandbox which implements a more lightweight
>>approach for popen using cygwin internals.
>
>Don't you go thru this exercise about every two years?
>
>1) fork/exec implementation in cygwin sux
>2) attempt to rewrite cygwin internals to use symantics of 
>spawn|vfork|some-other-clever-idea
>3) it breaks a bunch of stuff
>4) try to patch around the problems, repeat #3
>4) revert back to original fork/exec implementation
>
>What's different this time?  (Really, I'm not being snarky, and maybe 
>I'm misremembering, but I'd hate to see precious developer time spent in 
>#2 thru #4 if #5 will happen anyway -- if the past is any guide.)

I did try one time previously to implement vfork/exec transparently as
just a call to spawn* but my implementation caused more problems than it
solved.  That is not the same thing as implementing popen via spawn which
is a more tractable issue.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list