%% Eli Zaretskii <[EMAIL PROTECTED]> writes: >> Date: Mon, 16 Jan 2006 01:36:02 -0500 >> Cc: [email protected] >> From: "Paul D. Smith" <[EMAIL PROTECTED]> >> >> I don't understand: I thought the entire point was to support the >> jobserver on Windows. If jobserver isn't supported, just what does -jN >> _do_ during recursion?
ez> Sorry, I'm confused: are you saying that -jN is useless without ez> the jobserver? I doubt that you are saying that. Without recursion, -jN is fine without the jobserver: the jobserver is only useful for recursive invocations of make. If you have a recursive make, and you don't have jobserver, then there's no way for make to know when N jobs are started across all the instances of make. Before the jobserver was implemented, GNU make managed this by always forcing -j1 to all recursive make invocations. So, only the top level makefile was actually run in parallel. This ensured you never had >N jobs running at any one time; however, very often you also had less than N jobs running. ez> . SIGCHLD ez> . sigaction with SA_RESTART ez> . waitpid or wait3 ez> . pipe ez> Is that true? If so, then, with the exception of pipes, everything ez> else needs to be emulated on Windows. This is a non-trivial job that ez> will have to wait for another rainy day. Basically. Of course a different implementation could be tried. There's a whitepaper discussing the current design on my web site. -- ------------------------------------------------------------------------------- Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at: http://www.gnu.org http://make.paulandlesley.org "Please remain calm...I may be mad, but I am a professional." --Mad Scientist _______________________________________________ Make-w32 mailing list [email protected] http://lists.gnu.org/mailman/listinfo/make-w32
