Print this page
make: ship the Joyent patch to enable parallel make (originally from rm)
@@ -39,21 +39,21 @@
#include <dm/Avo_DoJobMsg.h>
#include <dm/Avo_MToolJobResultMsg.h>
#endif
#include <errno.h> /* errno */
#include <fcntl.h>
-#include <avo/util.h> /* avo_get_user(), avo_hostname() */
#include <mk/defs.h>
#include <mksh/dosys.h> /* redirect_io() */
#include <mksh/macro.h> /* expand_value() */
#include <mksh/misc.h> /* getmem() */
#include <sys/signal.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/utsname.h>
#include <sys/wait.h>
#include <unistd.h>
+#include <netdb.h>
/*
* Defined macros
@@ -143,15 +143,12 @@
Name target = line->body.line.target;
Boolean wrote_state_file = false;
if ((pmake_max_jobs == 0) &&
(dmake_mode_type == parallel_mode)) {
- if (user_name[0] == '\0') {
- avo_get_user(user_name, NULL);
- }
if (local_host[0] == '\0') {
- strcpy(local_host, avo_hostname());
+ (void) gethostname(local_host, MAXNAMELEN);
}
MBSTOWCS(wcs_buffer, NOCATGETS("DMAKE_MAX_JOBS"));
dmake_name = GETNAME(wcs_buffer, FIND_LENGTH);
if (((prop = get_prop(dmake_name->prop, macro_prop)) != NULL) &&
((dmake_value = prop->body.macro.value) != NULL)) {
@@ -667,11 +664,11 @@
/* warning message for the user */
warning(catgets(catd, 1, 339, "Encountered max jobs auto adjustment error - disabling auto adjustment."));
/* switch off job adjustment for the children */
- putenv(NOCATGETS("DMAKE_ADJUST_MAX_JOBS=NO"));
+ putenv(strdup(NOCATGETS("DMAKE_ADJUST_MAX_JOBS=NO")));
/* and for this dmake */
job_adjust_mode = ADJUST_NONE;
}
}
@@ -1734,20 +1731,10 @@
rp = new_running_struct();
rp->state = build_running;
rp->target = target;
rp->true_target = true_target;
rp->command = command;
- Property spro_val = get_prop(sunpro_dependencies->prop, macro_prop);
- if(spro_val) {
- rp->sprodep_value = spro_val->body.macro.value;
- spro_val->body.macro.value = NULL;
- spro_val = get_prop(sunpro_dependencies->prop, env_mem_prop);
- if(spro_val) {
- rp->sprodep_env = spro_val->body.env_mem.value;
- spro_val->body.env_mem.value = NULL;
- }
- }
rp->recursion_level = recursion_level;
rp->do_get = do_get;
rp->implicit = implicit;
rp->auto_count = auto_count;
if (auto_count > 0) {