Lines Matching refs:rp

85 static	void		delete_running_struct(Running rp);
90 static void finish_doname(Running rp);
96 static void store_conditionals(Running rp);
777 Running rp;
794 for (rp_prev = &running_list, rp = running_list;
795 rp != NULL && parallel_process_cnt == 0;
796 rp = rp->next) {
797 if (rp->state == build_serial) {
798 *rp_prev = rp->next;
799 if (rp->next == NULL) {
802 recursion_level = rp->recursion_level;
803 rp->target->state = build_pending;
804 (void) doname_check(rp->target,
805 rp->do_get,
806 rp->implicit,
809 delete_running_struct(rp);
812 rp_prev = &rp->next;
821 for (rp_prev = &running_list, rp = running_list;
822 rp != NULL;
823 rp = rp->next) {
824 if (!(rp->state == build_pending ||
825 rp->state == build_subtree)) {
827 rp_prev = &rp->next;
828 } else if (rp->state == build_pending) {
829 line = get_prop(rp->target->prop, line_prop);
848 *rp_prev = rp->next;
849 if (rp->next == NULL) {
852 recursion_level = rp->recursion_level;
853 rp->target->state = rp->redo ?
858 (rp->conditional_cnt,
859 rp->conditional_targets);
860 rp->target->dont_activate_cond_values = true;
861 if ((doname_check(rp->target,
862 rp->do_get,
863 rp->implicit,
864 rp->target->has_target_prop ? true : false) !=
870 rp->target->dont_activate_cond_values = false;
872 (rp->conditional_cnt,
873 rp->conditional_targets,
876 delete_running_struct(rp);
879 rp_prev = &rp->next;
882 rp_prev = &rp->next;
885 rp_prev = &rp->next;
894 for (rp_prev = &running_list, rp = running_list;
895 rp != NULL;
896 rp = rp->next) {
897 if (rp->state == build_subtree) {
898 if (!dependency_conflict(rp->target)) {
899 *rp_prev = rp->next;
900 if (rp->next == NULL) {
903 recursion_level = rp->recursion_level;
904 doname_subtree(rp->target,
905 rp->do_get,
906 rp->implicit);
908 delete_running_struct(rp);
912 rp_prev = &rp->next;
915 rp_prev = &rp->next;
928 rp = *subtree_target;
932 rp->target->string_mb,
936 if (rp->next == NULL) {
939 recursion_level = rp->recursion_level;
940 doname_subtree(rp->target, rp->do_get, rp->implicit);
941 delete_running_struct(rp);
1034 Running rp;
1059 for (rp = running_list; rp != NULL; rp = rp->next) {
1060 if (rp->state == build_pending) {
1061 pending_line = get_prop(rp->target->prop,
1073 subtree_conflict = rp->target;
1104 Running rp;
1130 for (rp = running_list;
1131 (rp != NULL) && (rp->pid != pid);
1132 rp = rp->next) {
1135 if (rp == NULL) {
1138 rp->state = (WIFEXITED(status) && WEXITSTATUS(status) == 0) ? build_ok : build_failed;
1175 Running rp;
1180 for (rp_prev = &running_list, rp = running_list;
1181 rp != NULL;
1182 rp = rp->next) {
1192 if (rp->state == build_ok || rp->state == build_failed) {
1193 *rp_prev = rp->next;
1194 if (rp->next == NULL) {
1197 if ((line2 = rp->command) == NULL) {
1198 line2 = get_prop(rp->target->prop, line_prop);
1206 if (rp->stdout_file != NULL) {
1207 if (stat(rp->stdout_file, &out_buf) < 0) {
1209 rp->stdout_file,
1225 dump_out_file(rp->stdout_file, false);
1228 (void) unlink(rp->stdout_file);
1229 retmem_mb(rp->stdout_file);
1230 rp->stdout_file = NULL;
1233 if (!out_err_same && (rp->stderr_file != NULL)) {
1234 if (stat(rp->stderr_file, &out_buf) < 0) {
1236 rp->stderr_file,
1241 dump_out_file(rp->stderr_file, true);
1243 (void) unlink(rp->stderr_file);
1244 retmem_mb(rp->stderr_file);
1245 rp->stderr_file = NULL;
1248 check_state(rp->temp_file);
1249 if (rp->temp_file != NULL) {
1250 free_name(rp->temp_file);
1252 rp->temp_file = NULL;
1253 if (rp->state == build_failed) {
1254 line = get_prop(rp->target->prop, line_prop);
1262 rp->command ? line2->body.line.target->string_mb : rp->target->string_mb);
1270 warning("I'm in finish_children. rp->state == build_failed.");
1274 rp->command ? line2->body.line.target->string_mb : rp->target->string_mb);
1278 delete_running_struct(rp);
1279 rp = *rp_prev;
1280 if (rp == NULL) {
1286 update_target(get_prop(rp->target->prop, line_prop),
1287 rp->state);
1288 finish_doname(rp);
1289 delete_running_struct(rp);
1290 rp = *rp_prev;
1291 if (rp == NULL) {
1297 rp_prev = &rp->next;
1350 * finish_doname(rp)
1355 * rp Running list entry for target
1362 finish_doname(Running rp)
1364 int auto_count = rp->auto_count;
1365 Name *automatics = rp->automatics;
1366 Doname result = rp->state;
1367 Name target = rp->target;
1368 Name true_target = rp->true_target;
1371 recursion_level = rp->recursion_level;
1417 * rp->conditional_cnt and rp->conditional_targets must be copied
1418 * to new 'rp' during add_pending(). Set_conditionals() stores
1419 * rp->conditional_targets to the global variable 'conditional_targets'
1420 * Add_pending() will use this variable to set up 'rp'.
1422 conditionals = set_conditionals(rp->conditional_cnt, rp->conditional_targets);
1425 rp->do_get,
1426 rp->implicit,
1428 reset_conditionals(rp->conditional_cnt, rp->conditional_targets, conditionals);
1441 Running rp;
1443 rp = ALLOC(Running);
1444 rp->target = NULL;
1445 rp->true_target = NULL;
1446 rp->command = NULL;
1447 rp->sprodep_value = NULL;
1448 rp->sprodep_env = NULL;
1449 rp->auto_count = 0;
1450 rp->automatics = NULL;
1451 rp->pid = -1;
1452 rp->job_msg_id = -1;
1453 rp->stdout_file = NULL;
1454 rp->stderr_file = NULL;
1455 rp->temp_file = NULL;
1456 rp->next = NULL;
1457 return rp;
1491 Running rp;
1494 rp = new_running_struct();
1495 rp->state = build_running;
1496 rp->target = target;
1497 rp->true_target = true_target;
1498 rp->command = command;
1499 rp->recursion_level = recursion_level;
1500 rp->do_get = do_get;
1501 rp->implicit = implicit;
1502 rp->auto_count = auto_count;
1504 rp->automatics = (Name *) getmem(auto_count * sizeof (Name));
1505 for (p = rp->automatics; auto_count > 0; auto_count--) {
1509 rp->automatics = NULL;
1512 rp->pid = process_running;
1516 rp->job_msg_id = job_msg_id;
1517 rp->stdout_file = stdout_file;
1518 rp->stderr_file = stderr_file;
1519 rp->temp_file = temp_file_name;
1520 rp->redo = false;
1521 rp->next = NULL;
1522 store_conditionals(rp);
1528 *running_tail = rp;
1529 running_tail = &rp->next;
1551 Running rp;
1552 rp = new_running_struct();
1553 rp->state = build_pending;
1554 rp->target = target;
1555 rp->recursion_level = recursion_level;
1556 rp->do_get = do_get;
1557 rp->implicit = implicit;
1558 rp->redo = redo;
1559 store_conditionals(rp);
1560 *running_tail = rp;
1561 running_tail = &rp->next;
1582 Running rp;
1584 rp = new_running_struct();
1585 rp->target = target;
1586 rp->recursion_level = recursion_level;
1587 rp->do_get = do_get;
1588 rp->implicit = implicit;
1589 rp->state = build_serial;
1590 rp->redo = false;
1591 store_conditionals(rp);
1592 *running_tail = rp;
1593 running_tail = &rp->next;
1614 Running rp;
1616 rp = new_running_struct();
1617 rp->target = target;
1618 rp->recursion_level = recursion_level;
1619 rp->do_get = do_get;
1620 rp->implicit = implicit;
1621 rp->state = build_subtree;
1622 rp->redo = false;
1623 store_conditionals(rp);
1624 *running_tail = rp;
1625 running_tail = &rp->next;
1629 * store_conditionals(rp)
1636 * rp Running struct for storing chain
1642 store_conditionals(Running rp)
1648 rp->conditional_cnt = 0;
1649 rp->conditional_targets = NULL;
1658 rp->conditional_cnt = cnt;
1659 rp->conditional_targets = (Name *) getmem(cnt * sizeof(Name));
1663 rp->conditional_targets[--cnt] = cond_name->name;
1740 Running rp;
1745 for (rp = running_list;
1746 rp != NULL && target != rp->target;
1747 rp = rp->next);
1748 if (rp == NULL) {
1751 return (rp->state == build_running) ? true : false;
1870 delete_running_struct(Running rp)
1872 if ((rp->conditional_cnt > 0) &&
1873 (rp->conditional_targets != NULL)) {
1874 retmem_mb((char *) rp->conditional_targets);
1877 if ((rp->auto_count > 0) &&
1878 (rp->automatics != NULL)) {
1879 retmem_mb((char *) rp->automatics);
1882 if(rp->sprodep_value) {
1883 free_name(rp->sprodep_value);
1885 if(rp->sprodep_env) {
1886 retmem_mb(rp->sprodep_env);
1888 retmem_mb((char *) rp);