[launchd-changes] [22841] trunk/launchd/src

source_changes at macosforge.org source_changes at macosforge.org
Wed Sep 6 11:12:50 PDT 2006


Revision: 22841
Author:   zarzycki at apple.com
Date:     2006-09-06 11:12:47 -0700 (Wed, 06 Sep 2006)

Log Message:
-----------
On second thought, launchd sometimes needs to be a consumer of APIs it vends to
communicate with a parent launchd. We therefore need to have a different prefix
for the internal implementation.

External: vproc_t and vprocmgr_t
Internal: job_t   and jobmgr_t

Modified Paths:
--------------
    trunk/launchd/src/launchctl.c
    trunk/launchd/src/launchd.c
    trunk/launchd/src/launchd.h
    trunk/launchd/src/launchd_core_logic.c
    trunk/launchd/src/launchd_core_logic.h
    trunk/launchd/src/launchd_mach_ipc.c
    trunk/launchd/src/launchd_unix_ipc.c
    trunk/launchd/src/launchd_unix_ipc.h

Modified: trunk/launchd/src/launchctl.c
===================================================================
--- trunk/launchd/src/launchctl.c	2006-09-06 17:22:43 UTC (rev 22840)
+++ trunk/launchd/src/launchctl.c	2006-09-06 18:12:47 UTC (rev 22841)
@@ -100,7 +100,7 @@
 static int _fd(int);
 static int demux_cmd(int argc, char *const argv[]);
 static launch_data_t do_rendezvous_magic(const struct addrinfo *res, const char *serv);
-static void submit_vproc_pass(launch_data_t jobs);
+static void submit_job_pass(launch_data_t jobs);
 static void submit_mach_jobs(launch_data_t jobs);
 static void let_go_of_mach_jobs(launch_data_t jobs);
 static void do_mgroup_join(int fd, int family, int socktype, int protocol, const char *mgroup);
@@ -484,7 +484,7 @@
 {
 	char ourhostname[1024];
 	launch_data_t tmpd, tmps, thejob, tmpa;
-	bool vproc_disabled = false;
+	bool job_disabled = false;
 	size_t i, c;
 
 	gethostname(ourhostname, sizeof(ourhostname));
@@ -560,12 +560,12 @@
 	}
 
 	if ((tmpd = launch_data_dict_lookup(thejob, LAUNCH_JOBKEY_DISABLED)))
-		vproc_disabled = launch_data_get_bool(tmpd);
+		job_disabled = launch_data_get_bool(tmpd);
 
 	if (lus->forceload)
-		vproc_disabled = false;
+		job_disabled = false;
 
-	if (vproc_disabled && lus->load)
+	if (job_disabled && lus->load)
 		goto out_bad;
 
 	if (delay_to_second_pass(thejob))
@@ -1395,10 +1395,10 @@
 	if (lus.load) {
 		distill_jobs(lus.pass1);
 		submit_mach_jobs(lus.pass0);
-		submit_vproc_pass(lus.pass1);
+		submit_job_pass(lus.pass1);
 		let_go_of_mach_jobs(lus.pass0);
 		distill_jobs(lus.pass2);
-		submit_vproc_pass(lus.pass2);
+		submit_job_pass(lus.pass2);
 	} else {
 		for (i = 0; i < launch_data_array_get_count(lus.pass1); i++)
 			unloadjob(launch_data_array_get_index(lus.pass1, i));
@@ -1466,7 +1466,7 @@
 }
 
 void
-submit_vproc_pass(launch_data_t jobs)
+submit_job_pass(launch_data_t jobs)
 {
 	launch_data_t msg, resp;
 	size_t i;

Modified: trunk/launchd/src/launchd.c
===================================================================
--- trunk/launchd/src/launchd.c	2006-09-06 17:22:43 UTC (rev 22840)
+++ trunk/launchd/src/launchd.c	2006-09-06 18:12:47 UTC (rev 22841)
@@ -121,7 +121,7 @@
 static bool re_exec_in_single_user_mode = false;
 static char *pending_stdout = NULL;
 static char *pending_stderr = NULL;
-static vproc_t rlcj = NULL;
+static job_t rlcj = NULL;
 static jmp_buf doom_doom_doom;
 
 sigset_t blocked_signals = 0;
@@ -148,7 +148,7 @@
 	const char *session_type = NULL;
 	const char *optargs = NULL;
 	launch_data_t ldresp, ldmsg = launch_data_new_string(LAUNCH_KEY_CHECKIN);
-	vproc_t fbj = NULL;
+	job_t fbj = NULL;
 	struct stat sb;
 	size_t i, checkin_fdcnt = 0;
 	int *checkin_fds = NULL;
@@ -282,11 +282,11 @@
 	if (h)
 		sprintf(ldconf, "%s/%s", h, LAUNCHD_CONF);
 
-	rlcj = vproc_new(root_job, READCONF_LABEL, LAUNCHCTL_PATH, NULL, ldconf, MACH_PORT_NULL);
+	rlcj = job_new(root_job, READCONF_LABEL, LAUNCHCTL_PATH, NULL, ldconf, MACH_PORT_NULL);
 	launchd_assert(rlcj != NULL);
 
 	if (argv[0])
-		fbj = vproc_new(root_job, FIRSTBORN_LABEL, NULL, (const char *const *)argv, NULL, MACH_PORT_NULL);
+		fbj = job_new(root_job, FIRSTBORN_LABEL, NULL, (const char *const *)argv, NULL, MACH_PORT_NULL);
 
 	if (NULL == getenv("PATH"))
 		setenv("PATH", _PATH_STDPATH, 1);
@@ -322,10 +322,10 @@
 	}
 
 	if (stat(ldconf, &sb) == 0)
-		vproc_dispatch(rlcj, true);
+		job_dispatch(rlcj, true);
 
 	if (fbj)
-		vproc_dispatch(fbj, true);
+		job_dispatch(fbj, true);
 
 	pthread_attr_t attr;
 	pthread_attr_init(&attr);
@@ -337,7 +337,7 @@
 	mach_msg_return_t msgr;
 	mach_msg_size_t mxmsgsz = sizeof(union MaxRequestSize) + MAX_TRAILER_SIZE;
 
-	if (getpid() == 1 && !vproc_active(rlcj))
+	if (getpid() == 1 && !job_active(rlcj))
 		init_pre_kevent();
 
 	launchd_assert(setjmp(doom_doom_doom) == 0);
@@ -401,7 +401,7 @@
 	}
 
 	if (getpid() == 1) {
-		if (rlcj && vproc_active(rlcj))
+		if (rlcj && job_active(rlcj))
 			goto out;
 		init_pre_kevent();
 	}
@@ -493,7 +493,7 @@
 	
 	rlcj = NULL;
 
-	vproc_remove_all_inactive(root_job);
+	job_remove_all_inactive(root_job);
 
 	if (getpid() == 1)
 		catatonia();
@@ -528,7 +528,7 @@
 	switch (kev->ident) {
 	case SIGHUP:
 		if (rlcj)
-			vproc_dispatch(rlcj, true);
+			job_dispatch(rlcj, true);
 		break;
 	case SIGTERM:
 		launchd_shutdown();
@@ -626,7 +626,7 @@
 }
 
 void
-batch_vproc_enable(bool e, struct conncb *c)
+batch_job_enable(bool e, struct conncb *c)
 {
 	if (e && c->disabled_batch) {
 		batch_disabler_count--;
@@ -701,7 +701,7 @@
 
 	if (new_networking_state != network_up) {
 		network_up = new_networking_state;
-		vproc_dispatch_all_other_semaphores(root_job, NULL);
+		job_dispatch_all_other_semaphores(root_job, NULL);
 	}
 }
 
@@ -760,7 +760,7 @@
 launchd_internal_demux(mach_msg_header_t *Request, mach_msg_header_t *Reply)
 {
 	if (gc_this_job) {
-		vproc_remove(gc_this_job);
+		job_remove(gc_this_job);
 		gc_this_job = NULL;
 	}
 

Modified: trunk/launchd/src/launchd.h
===================================================================
--- trunk/launchd/src/launchd.h	2006-09-06 17:22:43 UTC (rev 22840)
+++ trunk/launchd/src/launchd.h	2006-09-06 18:12:47 UTC (rev 22841)
@@ -57,7 +57,7 @@
 bool init_check_pid(pid_t);
 
 int kevent_mod(uintptr_t ident, short filter, u_short flags, u_int fflags, intptr_t data, void *udata);
-void batch_vproc_enable(bool e, struct conncb *c);
+void batch_job_enable(bool e, struct conncb *c);
 
 launch_data_t launchd_setstdio(int d, launch_data_t o);
 void launchd_SessionCreate(void);

Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c	2006-09-06 17:22:43 UTC (rev 22840)
+++ trunk/launchd/src/launchd_core_logic.c	2006-09-06 18:12:47 UTC (rev 22841)
@@ -81,7 +81,7 @@
 
 struct machservice {
 	SLIST_ENTRY(machservice) sle;
-	vproc_t			job;
+	job_t			job;
 	mach_port_name_t	port;
 	unsigned int		isActive:1, reset:1, recv:1, hide:1, kUNCServer:1, __junk:27;
 	char			name[0];
@@ -89,7 +89,7 @@
 
 static void machservice_setup(launch_data_t obj, const char *key, void *context);
 static void machservice_setup_options(launch_data_t obj, const char *key, void *context);
-static void machservice_resetport(vproc_t j, struct machservice *ms);
+static void machservice_resetport(job_t j, struct machservice *ms);
 
 
 struct socketgroup {
@@ -99,11 +99,11 @@
 	char name[0];
 };
 
-static bool socketgroup_new(vproc_t j, const char *name, int *fds, unsigned int fd_cnt, bool junkfds);
-static void socketgroup_delete(vproc_t j, struct socketgroup *sg);
-static void socketgroup_watch(vproc_t j, struct socketgroup *sg);
-static void socketgroup_ignore(vproc_t j, struct socketgroup *sg);
-static void socketgroup_callback(vproc_t j, struct kevent *kev);
+static bool socketgroup_new(job_t j, const char *name, int *fds, unsigned int fd_cnt, bool junkfds);
+static void socketgroup_delete(job_t j, struct socketgroup *sg);
+static void socketgroup_watch(job_t j, struct socketgroup *sg);
+static void socketgroup_ignore(job_t j, struct socketgroup *sg);
+static void socketgroup_callback(job_t j, struct kevent *kev);
 static void socketgroup_setup(launch_data_t obj, const char *key, void *context);
 
 struct watchpath {
@@ -113,22 +113,22 @@
 	char name[0];
 };
 
-static bool watchpath_new(vproc_t j, const char *name, bool qdir);
-static void watchpath_delete(vproc_t j, struct watchpath *wp);
-static void watchpath_watch(vproc_t j, struct watchpath *wp);
-static void watchpath_ignore(vproc_t j, struct watchpath *wp);
-static void watchpath_callback(vproc_t j, struct kevent *kev);
+static bool watchpath_new(job_t j, const char *name, bool qdir);
+static void watchpath_delete(job_t j, struct watchpath *wp);
+static void watchpath_watch(job_t j, struct watchpath *wp);
+static void watchpath_ignore(job_t j, struct watchpath *wp);
+static void watchpath_callback(job_t j, struct kevent *kev);
 
 struct calendarinterval {
 	SLIST_ENTRY(calendarinterval) sle;
 	struct tm when;
 };
 
-static bool calendarinterval_new(vproc_t j, struct tm *w);
-static bool calendarinterval_new_from_obj(vproc_t j, launch_data_t obj);
-static void calendarinterval_delete(vproc_t j, struct calendarinterval *ci);
-static void calendarinterval_setalarm(vproc_t j, struct calendarinterval *ci);
-static void calendarinterval_callback(vproc_t j, struct kevent *kev);
+static bool calendarinterval_new(job_t j, struct tm *w);
+static bool calendarinterval_new_from_obj(job_t j, launch_data_t obj);
+static void calendarinterval_delete(job_t j, struct calendarinterval *ci);
+static void calendarinterval_setalarm(job_t j, struct calendarinterval *ci);
+static void calendarinterval_callback(job_t j, struct kevent *kev);
 
 struct envitem {
 	SLIST_ENTRY(envitem) sle;
@@ -136,8 +136,8 @@
 	char key[0];
 };
 
-static bool envitem_new(vproc_t j, const char *k, const char *v, bool global);
-static void envitem_delete(vproc_t j, struct envitem *ei, bool global);
+static bool envitem_new(job_t j, const char *k, const char *v, bool global);
+static void envitem_delete(job_t j, struct envitem *ei, bool global);
 static void envitem_setup(launch_data_t obj, const char *key, void *context);
 
 struct limititem {
@@ -146,8 +146,8 @@
 	unsigned int setsoft:1, sethard:1, which:30;
 };
 
-static bool limititem_update(vproc_t j, int w, rlim_t r);
-static void limititem_delete(vproc_t j, struct limititem *li);
+static bool limititem_update(job_t j, int w, rlim_t r);
+static void limititem_delete(job_t j, struct limititem *li);
 static void limititem_setup(launch_data_t obj, const char *key, void *context);
 
 typedef enum {
@@ -166,15 +166,15 @@
 	char what[0];
 };
 
-static bool semaphoreitem_new(vproc_t j, semaphore_reason_t why, const char *what);
-static void semaphoreitem_delete(vproc_t j, struct semaphoreitem *si);
+static bool semaphoreitem_new(job_t j, semaphore_reason_t why, const char *what);
+static void semaphoreitem_delete(job_t j, struct semaphoreitem *si);
 static void semaphoreitem_setup(launch_data_t obj, const char *key, void *context);
 static void semaphoreitem_setup_paths(launch_data_t obj, const char *key, void *context);
 
 
-struct vproc_s {
-	kq_callback kqvproc_callback;
-	SLIST_ENTRY(vproc_s) sle;
+struct job_s {
+	kq_callback kqjob_callback;
+	SLIST_ENTRY(job_s) sle;
 	SLIST_HEAD(, socketgroup) sockets;
 	SLIST_HEAD(, watchpath) vnodes;
 	SLIST_HEAD(, calendarinterval) cal_intervals;
@@ -183,9 +183,9 @@
 	SLIST_HEAD(, limititem) limits;
 	SLIST_HEAD(, machservice) machservices;
 	SLIST_HEAD(, semaphoreitem) semaphores;
-	SLIST_HEAD(, vproc_s) jobs;
+	SLIST_HEAD(, job_s) jobs;
 	struct rusage ru;
-	vproc_t parent;
+	job_t parent;
 	mach_port_t bs_port;
 	mach_port_t req_port;
 	mach_port_t wait_reply_port;
@@ -215,29 +215,29 @@
 	char label[0];
 };
 
-static vproc_t vproc_import2(launch_data_t pload);
-static void vproc_import_keys(launch_data_t obj, const char *key, void *context);
-static void vproc_import_bool(vproc_t j, const char *key, bool value);
-static void vproc_import_string(vproc_t j, const char *key, const char *value);
-static void vproc_import_integer(vproc_t j, const char *key, long long value);
-static void vproc_import_dictionary(vproc_t j, const char *key, launch_data_t value);
-static void vproc_import_array(vproc_t j, const char *key, launch_data_t value);
-static void vproc_watch(vproc_t j);
-static void vproc_ignore(vproc_t j);
-static void vproc_reap(vproc_t j);
-static bool vproc_useless(vproc_t j);
-static bool vproc_keepalive(vproc_t j);
-static void vproc_start(vproc_t j);
-static void vproc_start_child(vproc_t j, int execfd) __attribute__((noreturn));
-static void vproc_setup_attributes(vproc_t j);
-static bool vproc_setup_machport(vproc_t j);
-static void vproc_postfork_become_user(vproc_t j);
-static void vproc_callback(void *obj, struct kevent *kev);
-static pid_t vproc_fork(vproc_t j);
-static size_t vproc_prep_log_preface(vproc_t j, char *buf);
-static void vproc_setup_env_from_other_jobs(vproc_t j);
-static void vproc_export_all2(vproc_t j, launch_data_t where);
-static launch_data_t vproc_export2(vproc_t j, bool subjobs);
+static job_t job_import2(launch_data_t pload);
+static void job_import_keys(launch_data_t obj, const char *key, void *context);
+static void job_import_bool(job_t j, const char *key, bool value);
+static void job_import_string(job_t j, const char *key, const char *value);
+static void job_import_integer(job_t j, const char *key, long long value);
+static void job_import_dictionary(job_t j, const char *key, launch_data_t value);
+static void job_import_array(job_t j, const char *key, launch_data_t value);
+static void job_watch(job_t j);
+static void job_ignore(job_t j);
+static void job_reap(job_t j);
+static bool job_useless(job_t j);
+static bool job_keepalive(job_t j);
+static void job_start(job_t j);
+static void job_start_child(job_t j, int execfd) __attribute__((noreturn));
+static void job_setup_attributes(job_t j);
+static bool job_setup_machport(job_t j);
+static void job_postfork_become_user(job_t j);
+static void job_callback(void *obj, struct kevent *kev);
+static pid_t job_fork(job_t j);
+static size_t job_prep_log_preface(job_t j, char *buf);
+static void job_setup_env_from_other_jobs(job_t j);
+static void job_export_all2(job_t j, launch_data_t where);
+static launch_data_t job_export2(job_t j, bool subjobs);
 
 
 static const struct {
@@ -266,10 +266,10 @@
 
 kq_callback kqsimple_zombie_reaper = simple_zombie_reaper;
 
-static int dir_has_files(vproc_t j, const char *path);
+static int dir_has_files(job_t j, const char *path);
 static char **mach_cmd2argv(const char *string);
-vproc_t root_job = NULL;
-vproc_t gc_this_job = NULL;
+job_t root_job = NULL;
+job_t gc_this_job = NULL;
 size_t total_children = 0;
 
 void
@@ -279,7 +279,7 @@
 }
 
 void
-vproc_ignore(vproc_t j)
+job_ignore(job_t j)
 {
 	struct socketgroup *sg;
 	struct machservice *ms;
@@ -292,11 +292,11 @@
 		watchpath_ignore(j, wp);
 
 	SLIST_FOREACH(ms, &j->machservices, sle)
-		vproc_assumes(j, launchd_mport_request_callback(ms->port, NULL, false) == KERN_SUCCESS);
+		job_assumes(j, launchd_mport_request_callback(ms->port, NULL, false) == KERN_SUCCESS);
 }
 
 void
-vproc_watch(vproc_t j)
+job_watch(job_t j)
 {
 	struct socketgroup *sg;
 	struct machservice *ms;
@@ -309,24 +309,24 @@
 		watchpath_watch(j, wp);
 
 	SLIST_FOREACH(ms, &j->machservices, sle)
-		vproc_assumes(j, launchd_mport_request_callback(ms->port, j, false) == KERN_SUCCESS);
+		job_assumes(j, launchd_mport_request_callback(ms->port, j, false) == KERN_SUCCESS);
 }
 
 void
-vproc_stop(vproc_t j)
+job_stop(job_t j)
 {
 	if (j->p)
 		kill(j->p, SIGTERM);
 }
 
 launch_data_t
-vproc_export(vproc_t j)
+job_export(job_t j)
 {
-	return vproc_export2(j, true);
+	return job_export2(j, true);
 }
 
 launch_data_t
-vproc_export2(vproc_t j, bool subjobs)
+job_export2(job_t j, bool subjobs)
 {
 	launch_data_t tmp, tmp2, tmp3, r = launch_data_alloc(LAUNCH_DATA_DICTIONARY);
 
@@ -403,11 +403,11 @@
 	}
 
 	if (subjobs && !SLIST_EMPTY(&j->jobs) && (tmp = launch_data_alloc(LAUNCH_DATA_ARRAY))) {
-		vproc_t ji;
+		job_t ji;
 		size_t i = 0;
 
 		SLIST_FOREACH(ji, &j->jobs, sle) {
-			tmp2 = vproc_export2(ji, true);
+			tmp2 = job_export2(ji, true);
 			launch_data_array_set_index(tmp, tmp2, i);
 			i++;
 		}
@@ -419,25 +419,25 @@
 }
 
 void
-vproc_remove_all_inactive(vproc_t j)
+job_remove_all_inactive(job_t j)
 {
-	vproc_t ji, jn;
+	job_t ji, jn;
 
 	SLIST_FOREACH_SAFE(ji, &j->jobs, sle, jn) {
-		vproc_remove_all_inactive(ji);
+		job_remove_all_inactive(ji);
 	}
 
-	if (!vproc_active(j)) {
-		vproc_remove(j);
+	if (!job_active(j)) {
+		job_remove(j);
 	} else if (getpid() != 1) {
-		vproc_stop(j);
+		job_stop(j);
 	}
 }
 
 void
-vproc_remove(vproc_t j)
+job_remove(job_t j)
 {
-	vproc_t ji;
+	job_t ji;
 	struct calendarinterval *ci;
 	struct socketgroup *sg;
 	struct watchpath *wp;
@@ -446,34 +446,34 @@
 	struct machservice *ms;
 	struct semaphoreitem *si;
 
-	vproc_log(j, LOG_DEBUG, "Removed");
+	job_log(j, LOG_DEBUG, "Removed");
 
 	if (j->p) {
 		if (kevent_mod(j->p, EVFILT_PROC, EV_ADD, NOTE_EXIT, 0, &kqsimple_zombie_reaper) == -1) {
-			vproc_reap(j);
+			job_reap(j);
 		} else {
 			/* we've attached the simple zombie reaper, we're going to delete the job before it is dead */
 			total_children--;
-			vproc_stop(j);
+			job_stop(j);
 		}
 	}
 
 	if (j->parent)
-		SLIST_REMOVE(&j->parent->jobs, j, vproc_s, sle);
+		SLIST_REMOVE(&j->parent->jobs, j, job_s, sle);
 
 	if (j->execfd)
-		vproc_assumes(j, close(j->execfd) == 0);
+		job_assumes(j, close(j->execfd) == 0);
 
 	if (j->bs_port) {
 		if (j->transfer_bstrap) {
-			vproc_assumes(j, launchd_mport_deallocate(j->bs_port) == KERN_SUCCESS);
+			job_assumes(j, launchd_mport_deallocate(j->bs_port) == KERN_SUCCESS);
 		} else {
-			vproc_assumes(j, launchd_mport_close_recv(j->bs_port) == KERN_SUCCESS);
+			job_assumes(j, launchd_mport_close_recv(j->bs_port) == KERN_SUCCESS);
 		}
 	}
 
 	if (j->req_port)
-		vproc_assumes(j, launchd_mport_deallocate(j->req_port) == KERN_SUCCESS);
+		job_assumes(j, launchd_mport_deallocate(j->req_port) == KERN_SUCCESS);
 
 #if 0
 	if (j->wait_reply_port) {
@@ -481,7 +481,7 @@
 #endif
 
 	while ((ji = SLIST_FIRST(&j->jobs)))
-		vproc_remove(ji);
+		job_remove(ji);
 
 	while ((sg = SLIST_FIRST(&j->sockets)))
 		socketgroup_delete(j, sg);
@@ -545,7 +545,7 @@
 socketgroup_setup(launch_data_t obj, const char *key, void *context)
 {
 	launch_data_t tmp_oai;
-	vproc_t j = context;
+	job_t j = context;
 	unsigned int i, fd_cnt = 1;
 	int *fds;
 
@@ -569,39 +569,39 @@
 }
 
 bool
-vproc_setup_machport(vproc_t j)
+job_setup_machport(job_t j)
 {
-	if (!vproc_assumes(j, launchd_mport_create_recv(&j->bs_port) == KERN_SUCCESS))
+	if (!job_assumes(j, launchd_mport_create_recv(&j->bs_port) == KERN_SUCCESS))
 		goto out_bad;
 
-	if (!vproc_assumes(j, launchd_mport_request_callback(j->bs_port, j, true) == KERN_SUCCESS))
+	if (!job_assumes(j, launchd_mport_request_callback(j->bs_port, j, true) == KERN_SUCCESS))
 		goto out_bad2;
 
 	return true;
 out_bad2:
-	vproc_assumes(j, launchd_mport_close_recv(j->bs_port) == KERN_SUCCESS);
+	job_assumes(j, launchd_mport_close_recv(j->bs_port) == KERN_SUCCESS);
 out_bad:
 	return false;
 }
 
-vproc_t 
-vproc_new_via_mach_init(vproc_t jbs, const char *cmd, uid_t uid, bool ond)
+job_t 
+job_new_via_mach_init(job_t jbs, const char *cmd, uid_t uid, bool ond)
 {
 	const char **argv = (const char **)mach_cmd2argv(cmd);
-	vproc_t j = NULL;
+	job_t j = NULL;
 	char buf[1000];
 
-	if (!vproc_assumes(jbs, argv != NULL))
+	if (!job_assumes(jbs, argv != NULL))
 		goto out_bad;
 
 	/* preflight the string so we know how big it is */
 	sprintf(buf, "100000.%s", basename((char *)argv[0]));
 
-	j = vproc_new(jbs, buf, NULL, argv, NULL, MACH_PORT_NULL);
+	j = job_new(jbs, buf, NULL, argv, NULL, MACH_PORT_NULL);
 
 	free(argv);
 
-	if (!vproc_assumes(jbs, j != NULL))
+	if (!job_assumes(jbs, j != NULL))
 		goto out_bad;
 
 	j->mach_uid = uid;
@@ -609,28 +609,28 @@
 	j->legacy_mach_job = true;
 	j->priv_port_has_senders = true; /* the IPC that called us will make-send on this port */
 
-	if (!vproc_setup_machport(j))
+	if (!job_setup_machport(j))
 		goto out_bad;
 
-	if (!vproc_assumes(j, launchd_mport_notify_req(j->bs_port, MACH_NOTIFY_NO_SENDERS) == KERN_SUCCESS)) {
-		vproc_assumes(j, launchd_mport_close_recv(j->bs_port) == KERN_SUCCESS);
+	if (!job_assumes(j, launchd_mport_notify_req(j->bs_port, MACH_NOTIFY_NO_SENDERS) == KERN_SUCCESS)) {
+		job_assumes(j, launchd_mport_close_recv(j->bs_port) == KERN_SUCCESS);
 		goto out_bad;
 	}
 
 	sprintf(j->label, "%d.%s", MACH_PORT_INDEX(j->bs_port), basename(j->argv[0]));
 
-	vproc_log(j, LOG_INFO, "New%s server in bootstrap: %x", ond ? " on-demand" : "", jbs->bs_port);
+	job_log(j, LOG_INFO, "New%s server in bootstrap: %x", ond ? " on-demand" : "", jbs->bs_port);
 
 	return j;
 
 out_bad:
 	if (j)
-		vproc_remove(j);
+		job_remove(j);
 	return NULL;
 }
 
 kern_return_t
-vproc_handle_mpm_wait(vproc_t j, mach_port_t srp, int *waitstatus)
+job_handle_mpm_wait(job_t j, mach_port_t srp, int *waitstatus)
 {
 	if (j->p) {
 		j->wait_reply_port = srp;
@@ -642,17 +642,17 @@
 	return 0;
 }
 
-vproc_t 
-vproc_new_spawn(const char *label, const char *path, const char *workingdir, const char *const *argv, const char *const *env, mode_t *u_mask, bool w4d, bool fppc)
+job_t 
+job_new_spawn(const char *label, const char *path, const char *workingdir, const char *const *argv, const char *const *env, mode_t *u_mask, bool w4d, bool fppc)
 {
-	vproc_t jr;
+	job_t jr;
 
-	if ((jr = vproc_find(root_job, label)) != NULL) {
+	if ((jr = job_find(root_job, label)) != NULL) {
 		errno = EEXIST;
 		return NULL;
 	}
 
-	jr = vproc_new(root_job, label, path, argv, NULL, MACH_PORT_NULL);
+	jr = job_new(root_job, label, path, argv, NULL, MACH_PORT_NULL);
 
 	if (!jr)
 		return NULL;
@@ -661,8 +661,8 @@
 	jr->stall_before_exec = w4d;
 	jr->force_ppc = fppc;
 
-	if (!vproc_setup_machport(jr)) {
-		vproc_remove(jr);
+	if (!job_setup_machport(jr)) {
+		job_remove(jr);
 		return NULL;
 	}
 
@@ -677,7 +677,7 @@
 	if (env) for (; *env; env++) {
 		char newkey[strlen(*env) + 1], *eqoff = strchr(*env, '=');
 		if (!eqoff) {
-			vproc_log(jr, LOG_WARNING, "Environmental variable missing '=' separator: %s", *env);
+			job_log(jr, LOG_WARNING, "Environmental variable missing '=' separator: %s", *env);
 			continue;
 		}
 		strcpy(newkey, *env);
@@ -685,51 +685,51 @@
 		envitem_new(jr, newkey, eqoff + 1, false);
 	}
 
-	vproc_dispatch(jr, true);
+	job_dispatch(jr, true);
 
 	return jr;
 }
 
-vproc_t 
-vproc_new(vproc_t p, const char *label, const char *prog, const char *const *argv, const char *stdinpath, mach_port_t reqport)
+job_t 
+job_new(job_t p, const char *label, const char *prog, const char *const *argv, const char *stdinpath, mach_port_t reqport)
 {
 	const char *const *argv_tmp = argv;
 	char *co;
 	int i, cc = 0;
-	vproc_t j;
+	job_t j;
 
 	if (reqport == MACH_PORT_NULL && prog == NULL && argv == NULL) {
 		errno = EINVAL;
 		return NULL;
 	}
 
-	j = calloc(1, sizeof(struct vproc_s) + strlen(label) + 1);
+	j = calloc(1, sizeof(struct job_s) + strlen(label) + 1);
 
-	if (!vproc_assumes(p, j != NULL))
+	if (!job_assumes(p, j != NULL))
 		goto out_bad;
 
 	strcpy(j->label, label);
-	j->kqvproc_callback = vproc_callback;
-	j->parent = p ? vproc_get_bs(p) : NULL;
+	j->kqjob_callback = job_callback;
+	j->parent = p ? job_get_bs(p) : NULL;
 	j->ondemand = true;
 	j->checkedin = true;
 	j->firstborn = (strcmp(label, FIRSTBORN_LABEL) == 0);
 
 	if (reqport != MACH_PORT_NULL) {
 		j->req_port = reqport;
-		if (!vproc_assumes(j, launchd_mport_notify_req(reqport, MACH_NOTIFY_DEAD_NAME) == KERN_SUCCESS))
+		if (!job_assumes(j, launchd_mport_notify_req(reqport, MACH_NOTIFY_DEAD_NAME) == KERN_SUCCESS))
 			goto out_bad;
 	}
 
 	if (prog) {
 		j->prog = strdup(prog);
-		if (!vproc_assumes(j, j->prog != NULL))
+		if (!job_assumes(j, j->prog != NULL))
 			goto out_bad;
 	}
 
 	if (stdinpath) {
 		j->stdinpath = strdup(stdinpath);
-		if (!vproc_assumes(j, j->stdinpath != NULL))
+		if (!job_assumes(j, j->stdinpath != NULL))
 			goto out_bad;
 	}
 
@@ -742,7 +742,7 @@
 
 		j->argv = malloc((j->argc + 1) * sizeof(char *) + cc);
 
-		if (!vproc_assumes(j, j->argv != NULL))
+		if (!job_assumes(j, j->argv != NULL))
 			goto out_bad;
 
 		co = ((char *)j->argv) + ((j->argc + 1) * sizeof(char *));
@@ -757,7 +757,7 @@
 
 	if (j->parent) {
 		SLIST_INSERT_HEAD(&j->parent->jobs, j, sle);
-		vproc_log(j->parent, LOG_DEBUG, "Conceived");
+		job_log(j->parent, LOG_DEBUG, "Conceived");
 	}
 
 	return j;
@@ -773,30 +773,30 @@
 	return NULL;
 }
 
-vproc_t 
-vproc_import(launch_data_t pload)
+job_t 
+job_import(launch_data_t pload)
 {
-	vproc_t j = vproc_import2(pload);
+	job_t j = job_import2(pload);
 
 	if (j == NULL)
 		return NULL;
 
-	vproc_dispatch(j, false);
+	job_dispatch(j, false);
 
 	return j;
 }
 
 launch_data_t
-vproc_import_bulk(launch_data_t pload)
+job_import_bulk(launch_data_t pload)
 {
 	launch_data_t resp = launch_data_alloc(LAUNCH_DATA_ARRAY);
-	vproc_t *ja;
+	job_t *ja;
 	size_t i, c = launch_data_array_get_count(pload);
 
-	ja = alloca(c * sizeof(vproc_t ));
+	ja = alloca(c * sizeof(job_t ));
 
 	for (i = 0; i < c; i++) {
-		if ((ja[i] = vproc_import2(launch_data_array_get_index(pload, i))))
+		if ((ja[i] = job_import2(launch_data_array_get_index(pload, i))))
 			errno = 0;
 		launch_data_array_set_index(resp, launch_data_new_errno(errno), i);
 	}
@@ -804,14 +804,14 @@
 	for (i = 0; i < c; i++) {
 		if (ja[i] == NULL)
 			continue;
-		vproc_dispatch(ja[i], false);
+		job_dispatch(ja[i], false);
 	}
 
 	return resp;
 }
 
 void
-vproc_import_bool(vproc_t j, const char *key, bool value)
+job_import_bool(job_t j, const char *key, bool value)
 {
 	switch (key[0]) {
 	case 'f':
@@ -848,7 +848,7 @@
 	case 'I':
 		if (strcasecmp(key, LAUNCH_JOBKEY_INITGROUPS) == 0) {
 			if (getuid() == 0) {
-				vproc_log(j, LOG_WARNING, "Ignored this key: %s", key);
+				job_log(j, LOG_WARNING, "Ignored this key: %s", key);
 				return;
 			}
 			j->no_init_groups = !value;
@@ -875,7 +875,7 @@
 }
 
 void
-vproc_import_string(vproc_t j, const char *key, const char *value)
+job_import_string(job_t j, const char *key, const char *value)
 {
 	char **where2put = NULL;
 
@@ -894,7 +894,7 @@
 	case 'R':
 		if (strcasecmp(key, LAUNCH_JOBKEY_ROOTDIRECTORY) == 0) {
 			if (getuid() != 0) {
-				vproc_log(j, LOG_WARNING, "Ignored this key: %s", key);
+				job_log(j, LOG_WARNING, "Ignored this key: %s", key);
 				return;
 			}
 			where2put = &j->rootdir;
@@ -909,7 +909,7 @@
 	case 'U':
 		if (strcasecmp(key, LAUNCH_JOBKEY_USERNAME) == 0) {
 			if (getuid() != 0 || strcmp(value, "root") == 0) {
-				vproc_log(j, LOG_WARNING, "Ignored this key: %s", key);
+				job_log(j, LOG_WARNING, "Ignored this key: %s", key);
 				return;
 			}
 			where2put = &j->username;
@@ -919,7 +919,7 @@
 	case 'G':
 		if (strcasecmp(key, LAUNCH_JOBKEY_GROUPNAME) == 0) {
 			if (getuid() != 0 || strcmp(value, "wheel") == 0) {
-				vproc_log(j, LOG_WARNING, "Ignored this key: %s", key);
+				job_log(j, LOG_WARNING, "Ignored this key: %s", key);
 				return;
 			}
 			where2put = &j->groupname;
@@ -938,14 +938,14 @@
 	}
 
 	if (where2put) {
-		vproc_assumes(j, (*where2put = strdup(value)) != NULL);
+		job_assumes(j, (*where2put = strdup(value)) != NULL);
 	} else {
-		vproc_log(j, LOG_WARNING, "Unknown key: %s", key);
+		job_log(j, LOG_WARNING, "Unknown key: %s", key);
 	}
 }
 
 void
-vproc_import_integer(vproc_t j, const char *key, long long value)
+job_import_integer(job_t j, const char *key, long long value)
 {
 	switch (key[0]) {
 	case 'n':
@@ -957,7 +957,7 @@
 	case 'T':
 		if (strcasecmp(key, LAUNCH_JOBKEY_TIMEOUT) == 0) {
 			if (value <= 0)
-				vproc_log(j, LOG_WARNING, "Timeout less than or equal to zero. Ignoring.");
+				job_log(j, LOG_WARNING, "Timeout less than or equal to zero. Ignoring.");
 			else
 				j->timeout = value;
 		}
@@ -973,11 +973,11 @@
 	case 'S':
 		if (strcasecmp(key, LAUNCH_JOBKEY_STARTINTERVAL) == 0) {
 			if (value <= 0)
-				vproc_log(j, LOG_WARNING, "StartInterval is not greater than zero, ignoring");
+				job_log(j, LOG_WARNING, "StartInterval is not greater than zero, ignoring");
 			else
 				j->start_interval = value;
 			if (-1 == kevent_mod((uintptr_t)&j->start_interval, EVFILT_TIMER, EV_ADD, NOTE_SECONDS, value, j))
-				vproc_log_error(j, LOG_ERR, "adding kevent timer");
+				job_log_error(j, LOG_ERR, "adding kevent timer");
 		}
 		break;
 	default:
@@ -986,7 +986,7 @@
 }
 
 void
-vproc_import_dictionary(vproc_t j, const char *key, launch_data_t value)
+job_import_dictionary(job_t j, const char *key, launch_data_t value)
 {
 	launch_data_t tmp;
 
@@ -1040,7 +1040,7 @@
 		if (strcasecmp(key, LAUNCH_JOBKEY_MACHSERVICES) == 0) {
 			launch_data_dict_iterate(value, machservice_setup, j);
 			if (!SLIST_EMPTY(&j->machservices))
-				vproc_setup_machport(j);
+				job_setup_machport(j);
 		}
 		break;
 	default:
@@ -1049,7 +1049,7 @@
 }
 
 void
-vproc_import_array(vproc_t j, const char *key, launch_data_t value)
+job_import_array(job_t j, const char *key, launch_data_t value)
 {
 	bool is_q_dir = false;
 	bool is_wp = false;
@@ -1095,9 +1095,9 @@
 }
 
 void
-vproc_import_keys(launch_data_t obj, const char *key, void *context)
+job_import_keys(launch_data_t obj, const char *key, void *context)
 {
-	vproc_t j = context;
+	job_t j = context;
 	launch_data_type_t kind;
 
 	if (obj == NULL)
@@ -1107,33 +1107,33 @@
 
 	switch (kind) {
 	case LAUNCH_DATA_BOOL:
-		vproc_import_bool(j, key, launch_data_get_bool(obj));
+		job_import_bool(j, key, launch_data_get_bool(obj));
 		break;
 	case LAUNCH_DATA_STRING:
-		vproc_import_string(j, key, launch_data_get_string(obj));
+		job_import_string(j, key, launch_data_get_string(obj));
 		break;
 	case LAUNCH_DATA_INTEGER:
-		vproc_import_integer(j, key, launch_data_get_integer(obj));
+		job_import_integer(j, key, launch_data_get_integer(obj));
 		break;
 	case LAUNCH_DATA_DICTIONARY:
-		vproc_import_dictionary(j, key, obj);
+		job_import_dictionary(j, key, obj);
 		break;
 	case LAUNCH_DATA_ARRAY:
-		vproc_import_array(j, key, obj);
+		job_import_array(j, key, obj);
 		break;
 	default:
-		vproc_log(j, LOG_WARNING, "Unknown value type '%d' for key: %s", kind, key);
+		job_log(j, LOG_WARNING, "Unknown value type '%d' for key: %s", kind, key);
 		break;
 	}
 }
 
-vproc_t 
-vproc_import2(launch_data_t pload)
+job_t 
+job_import2(launch_data_t pload)
 {
 	launch_data_t tmp, ldpa;
 	const char *label = NULL, *prog = NULL;
 	const char **argv = NULL;
-	vproc_t j;
+	job_t j;
 
 	if (pload == NULL)
 		return NULL;
@@ -1154,7 +1154,7 @@
 	if (label == NULL) {
 		errno = EINVAL;
 		return NULL;
-	} else if ((j = vproc_find(root_job, label)) != NULL) {
+	} else if ((j = job_find(root_job, label)) != NULL) {
 		errno = EEXIST;
 		return NULL;
 	} else if (label[0] == '\0' || (strncasecmp(label, "", strlen("com.apple.launchd")) == 0) ||
@@ -1175,16 +1175,16 @@
 		argv[i] = NULL;
 	}
 
-	if ((j = vproc_new(root_job, label, prog, argv, NULL, MACH_PORT_NULL)))
-		launch_data_dict_iterate(pload, vproc_import_keys, j);
+	if ((j = job_new(root_job, label, prog, argv, NULL, MACH_PORT_NULL)))
+		launch_data_dict_iterate(pload, job_import_keys, j);
 
 	return j;
 }
 
-vproc_t 
-vproc_find(vproc_t j, const char *label)
+job_t 
+job_find(job_t j, const char *label)
 {
-	vproc_t jr, ji;
+	job_t jr, ji;
 
 	if (label[0] == '\0')
 		return root_job;
@@ -1193,7 +1193,7 @@
 		return j;
 
 	SLIST_FOREACH(ji, &j->jobs, sle) {
-		if ((jr = vproc_find(ji, label)))
+		if ((jr = job_find(ji, label)))
 			return jr;
 	}
 
@@ -1201,16 +1201,16 @@
 	return NULL;
 }
 
-vproc_t 
-vproc_find_by_pid(vproc_t j, pid_t p)
+job_t 
+job_find_by_pid(job_t j, pid_t p)
 {
-	vproc_t jr, ji;
+	job_t jr, ji;
 
 	if (j->p == p)
 		return j;
 
 	SLIST_FOREACH(ji, &j->jobs, sle) {
-		if ((jr = vproc_find_by_pid(ji, p)))
+		if ((jr = job_find_by_pid(ji, p)))
 			return jr;
 	}
 
@@ -1219,48 +1219,48 @@
 }
 
 void
-vproc_export_all2(vproc_t j, launch_data_t where)
+job_export_all2(job_t j, launch_data_t where)
 {
 	launch_data_t tmp;
-	vproc_t ji;
+	job_t ji;
 
-	if (vproc_assumes(j, (tmp = vproc_export2(j, false)) != NULL))
+	if (job_assumes(j, (tmp = job_export2(j, false)) != NULL))
 		launch_data_dict_insert(where, tmp, j->label);
 
 	SLIST_FOREACH(ji, &j->jobs, sle)
-		vproc_export_all2(ji, where);
+		job_export_all2(ji, where);
 }
 
 launch_data_t
-vproc_export_all(void)
+job_export_all(void)
 {
 	launch_data_t resp = launch_data_alloc(LAUNCH_DATA_DICTIONARY);
 
-	vproc_export_all2(root_job, resp);
+	job_export_all2(root_job, resp);
 
 	return resp;
 }
 
 void
-vproc_reap(vproc_t j)
+job_reap(job_t j)
 {
 	struct rusage ru;
 	int status;
 
-	vproc_log(j, LOG_DEBUG, "Reaping");
+	job_log(j, LOG_DEBUG, "Reaping");
 
 	if (j->execfd) {
-		vproc_assumes(j, close(j->execfd) == 0);
+		job_assumes(j, close(j->execfd) == 0);
 		j->execfd = 0;
 	}
 
-	if (!vproc_assumes(j, wait4(j->p, &status, 0, &ru) != -1)) {
+	if (!job_assumes(j, wait4(j->p, &status, 0, &ru) != -1)) {
 		return;
 	}
 
 	if (j->wait_reply_port) {
-		vproc_log(j, LOG_DEBUG, "MPM wait reply being sent");
-		vproc_assumes(j, mpm_wait_reply(j->wait_reply_port, 0, status) == 0);
+		job_log(j, LOG_DEBUG, "MPM wait reply being sent");
+		job_assumes(j, mpm_wait_reply(j->wait_reply_port, 0, status) == 0);
 		j->wait_reply_port = MACH_PORT_NULL;
 	}
 
@@ -1282,15 +1282,15 @@
 	j->ru.ru_nivcsw += ru.ru_nivcsw;
 
 	if (WIFEXITED(status) && WEXITSTATUS(status) != 0) {
-		vproc_log(j, LOG_WARNING, "exited with exit code: %d", WEXITSTATUS(status));
+		job_log(j, LOG_WARNING, "exited with exit code: %d", WEXITSTATUS(status));
 	}
 
 	if (WIFSIGNALED(status)) {
 		int s = WTERMSIG(status);
 		if (SIGKILL == s || SIGTERM == s) {
-			vproc_log(j, LOG_NOTICE, "Exited: %s", strsignal(s));
+			job_log(j, LOG_NOTICE, "Exited: %s", strsignal(s));
 		} else {
-			vproc_log(j, LOG_WARNING, "Exited abnormally: %s", strsignal(s));
+			job_log(j, LOG_WARNING, "Exited abnormally: %s", strsignal(s));
 		}
 	}
 
@@ -1300,7 +1300,7 @@
 }
 
 void
-vproc_dispatch(vproc_t j, bool kickstart)
+job_dispatch(job_t j, bool kickstart)
 {
 	/*
 	 * The whole job removal logic needs to be consolidated. The fact that
@@ -1310,21 +1310,21 @@
 	 *
 	 * This is a classic example. The act of dispatching a job may delete it.
 	 */
-	if (vproc_active(j)) {
+	if (job_active(j)) {
 		return;
-	} else if (vproc_useless(j)) {
-		vproc_remove(j);
-	} else if (kickstart || vproc_keepalive(j)) {
-		vproc_start(j);
+	} else if (job_useless(j)) {
+		job_remove(j);
+	} else if (kickstart || job_keepalive(j)) {
+		job_start(j);
 	} else {
-		vproc_watch(j);
+		job_watch(j);
 	}
 }
 
 void
-vproc_callback(void *obj, struct kevent *kev)
+job_callback(void *obj, struct kevent *kev)
 {
-	vproc_t j = obj;
+	job_t j = obj;
 	bool d = j->debug;
 	int oldmask = 0;
 
@@ -1334,18 +1334,18 @@
 
 	switch (kev->filter) {
 	case EVFILT_PROC:
-		vproc_reap(j);
+		job_reap(j);
 
 		if (j->firstborn) {
-			vproc_log(j, LOG_DEBUG, "first born died, begin shutdown");
+			job_log(j, LOG_DEBUG, "first born died, begin shutdown");
 			launchd_shutdown();
 		} else {
-			vproc_dispatch(j, false);
+			job_dispatch(j, false);
 		}
 		break;
 	case EVFILT_TIMER:
 		if ((uintptr_t)j == kev->ident || (uintptr_t)&j->start_interval == kev->ident) {
-			vproc_dispatch(j, true);
+			job_dispatch(j, true);
 		} else {
 			calendarinterval_callback(j, kev);
 		}
@@ -1360,38 +1360,38 @@
 		}
 		if (j->wait4debugger) {
 			/* Allow somebody else to attach */
-			vproc_assumes(j, kill(j->p, SIGSTOP) != -1);
-			vproc_assumes(j, ptrace(PT_DETACH, j->p, NULL, 0) != -1);
+			job_assumes(j, kill(j->p, SIGSTOP) != -1);
+			job_assumes(j, ptrace(PT_DETACH, j->p, NULL, 0) != -1);
 		}
 		if (kev->data > 0) {
 			int e;
 
 			read(j->execfd, &e, sizeof(e));
 			errno = e;
-			vproc_log_error(j, LOG_ERR, "execve()");
-			vproc_remove(j);
+			job_log_error(j, LOG_ERR, "execve()");
+			job_remove(j);
 			j = NULL;
 		} else {
-			vproc_assumes(j, close(j->execfd) == 0);
+			job_assumes(j, close(j->execfd) == 0);
 			j->execfd = 0;
 		}
 		break;
 	case EVFILT_MACHPORT:
-		vproc_dispatch(j, true);
+		job_dispatch(j, true);
 		break;
 	default:
-		vproc_assumes(j, false);
+		job_assumes(j, false);
 		break;
 	}
 
 	if (d) {
-		/* the job might have been removed, must not call vproc_log() */
+		/* the job might have been removed, must not call job_log() */
 		setlogmask(oldmask);
 	}
 }
 
 void
-vproc_start(vproc_t j)
+job_start(job_t j)
 {
 	int spair[2];
 	int execspair[2];
@@ -1400,14 +1400,14 @@
 	bool sipc = false;
 	time_t td;
 
-	if (!vproc_assumes(j, j->req_port == MACH_PORT_NULL))
+	if (!job_assumes(j, j->req_port == MACH_PORT_NULL))
 		return;
 
-	if (!vproc_assumes(j, j->parent != NULL))
+	if (!job_assumes(j, j->parent != NULL))
 		return;
 
-	if (vproc_active(j)) {
-		vproc_log(j, LOG_DEBUG, "Already started");
+	if (job_active(j)) {
+		job_log(j, LOG_DEBUG, "Already started");
 		return;
 	}
 
@@ -1416,12 +1416,12 @@
 	if (td < LAUNCHD_MIN_JOB_RUN_TIME) {
 		time_t respawn_delta = LAUNCHD_MIN_JOB_RUN_TIME - td;
 
-		vproc_log(j, LOG_WARNING, "Throttling respawn: Will start in %ld seconds", respawn_delta);
-		vproc_assumes(j, kevent_mod((uintptr_t)j, EVFILT_TIMER, EV_ADD|EV_ONESHOT, NOTE_SECONDS, respawn_delta, j) != -1);
+		job_log(j, LOG_WARNING, "Throttling respawn: Will start in %ld seconds", respawn_delta);
+		job_assumes(j, kevent_mod((uintptr_t)j, EVFILT_TIMER, EV_ADD|EV_ONESHOT, NOTE_SECONDS, respawn_delta, j) != -1);
 		return;
 	}
 
-	vproc_log(j, LOG_DEBUG, "Starting");
+	job_log(j, LOG_DEBUG, "Starting");
 
 	if (!j->legacy_mach_job)
 		sipc = (!SLIST_EMPTY(&j->sockets) || !SLIST_EMPTY(&j->machservices));
@@ -1440,57 +1440,57 @@
 	time(&j->start_time);
 
 	if (j->bs_port) {
-		vproc_assumes(j, launchd_mport_notify_req(j->bs_port, MACH_NOTIFY_NO_SENDERS) == KERN_SUCCESS);
+		job_assumes(j, launchd_mport_notify_req(j->bs_port, MACH_NOTIFY_NO_SENDERS) == KERN_SUCCESS);
 	}
 
-	switch (c = vproc_fork(j->bs_port ? j : j->parent)) {
+	switch (c = job_fork(j->bs_port ? j : j->parent)) {
 	case -1:
-		vproc_log_error(j, LOG_ERR, "fork() failed, will try again in one second");
-		vproc_assumes(j, close(execspair[0]) == 0);
-		vproc_assumes(j, close(execspair[1]) == 0);
+		job_log_error(j, LOG_ERR, "fork() failed, will try again in one second");
+		job_assumes(j, close(execspair[0]) == 0);
+		job_assumes(j, close(execspair[1]) == 0);
 		if (sipc) {
-			vproc_assumes(j, close(spair[0]) == 0);
-			vproc_assumes(j, close(spair[1]) == 0);
+			job_assumes(j, close(spair[0]) == 0);
+			job_assumes(j, close(spair[1]) == 0);
 		}
 		break;
 	case 0:
-		vproc_assumes(j, close(execspair[0]) == 0);
+		job_assumes(j, close(execspair[0]) == 0);
 		/* wait for our parent to say they've attached a kevent to us */
 		read(_fd(execspair[1]), &c, sizeof(c));
 		if (j->firstborn) {
 			setpgid(getpid(), getpid());
 			if (isatty(STDIN_FILENO)) {
 				if (tcsetpgrp(STDIN_FILENO, getpid()) == -1)
-					vproc_log_error(j, LOG_WARNING, "tcsetpgrp()");
+					job_log_error(j, LOG_WARNING, "tcsetpgrp()");
 			}
 		}
 
 		if (sipc) {
-			vproc_assumes(j, close(spair[0]) == 0);
+			job_assumes(j, close(spair[0]) == 0);
 			sprintf(nbuf, "%d", spair[1]);
 			setenv(LAUNCHD_TRUSTED_FD_ENV, nbuf, 1);
 		}
-		vproc_start_child(j, execspair[1]);
+		job_start_child(j, execspair[1]);
 		break;
 	default:
 		if (!SLIST_EMPTY(&j->machservices))
 			j->priv_port_has_senders = true;
 		j->p = c;
 		total_children++;
-		vproc_assumes(j, close(execspair[1]) == 0);
+		job_assumes(j, close(execspair[1]) == 0);
 		j->execfd = _fd(execspair[0]);
 		if (sipc) {
-			vproc_assumes(j, close(spair[1]) == 0);
+			job_assumes(j, close(spair[1]) == 0);
 			ipc_open(_fd(spair[0]), j);
 		}
-		if (kevent_mod(j->execfd, EVFILT_READ, EV_ADD, 0, 0, &j->kqvproc_callback) == -1)
-			vproc_log_error(j, LOG_ERR, "kevent_mod(j->execfd): %m");
-		if (kevent_mod(c, EVFILT_PROC, EV_ADD, NOTE_EXIT, 0, &j->kqvproc_callback) == -1) {
-			vproc_log_error(j, LOG_ERR, "kevent()");
-			vproc_reap(j);
+		if (kevent_mod(j->execfd, EVFILT_READ, EV_ADD, 0, 0, &j->kqjob_callback) == -1)
+			job_log_error(j, LOG_ERR, "kevent_mod(j->execfd): %m");
+		if (kevent_mod(c, EVFILT_PROC, EV_ADD, NOTE_EXIT, 0, &j->kqjob_callback) == -1) {
+			job_log_error(j, LOG_ERR, "kevent()");
+			job_reap(j);
 		} else {
 		       	if (j->ondemand)
-				vproc_ignore(j);
+				job_ignore(j);
 		}
 
 		if (!j->stall_before_exec) {
@@ -1503,7 +1503,7 @@
 }
 
 void
-vproc_start_child(vproc_t j, int execfd)
+job_start_child(job_t j, int execfd)
 {
 	const char *file2exec = "/usr/libexec/launchproxy";
 	const char **argv;
@@ -1511,7 +1511,7 @@
 	glob_t g;
 	int i;
 
-	vproc_setup_attributes(j);
+	job_setup_attributes(j);
 
 	if (j->argv && j->globargv) {
 		g.gl_offs = 1;
@@ -1519,7 +1519,7 @@
 			if (i > 0)
 				gflags |= GLOB_APPEND;
 			if (glob(j->argv[i], gflags, NULL, &g) != 0) {
-				vproc_log_error(j, LOG_ERR, "glob(\"%s\")", j->argv[i]);
+				job_log_error(j, LOG_ERR, "glob(\"%s\")", j->argv[i]);
 				exit(EXIT_FAILURE);
 			}
 		}
@@ -1542,42 +1542,42 @@
 		argv++;
 
 	if (j->wait4debugger && ptrace(PT_TRACE_ME, getpid(), NULL, 0) == -1)
-		vproc_log_error(j, LOG_ERR, "ptrace(PT_TRACE_ME, ...)");
+		job_log_error(j, LOG_ERR, "ptrace(PT_TRACE_ME, ...)");
 
 	if (j->force_ppc) {
 		int affinmib[] = { CTL_KERN, KERN_AFFINITY, 1, 1 };
 		size_t mibsz = sizeof(affinmib) / sizeof(affinmib[0]);
 
 		if (sysctl(affinmib, mibsz, NULL, NULL,  NULL, 0) == -1)
-			vproc_log_error(j, LOG_WARNING, "Failed to force PowerPC execution");
+			job_log_error(j, LOG_WARNING, "Failed to force PowerPC execution");
 	}
 
 	if (j->prog) {
 		execv(j->inetcompat ? file2exec : j->prog, (char *const*)argv);
-		vproc_log_error(j, LOG_ERR, "execv(\"%s\", ...)", j->prog);
+		job_log_error(j, LOG_ERR, "execv(\"%s\", ...)", j->prog);
 	} else {
 		execvp(j->inetcompat ? file2exec : argv[0], (char *const*)argv);
-		vproc_log_error(j, LOG_ERR, "execvp(\"%s\", ...)", argv[0]);
+		job_log_error(j, LOG_ERR, "execvp(\"%s\", ...)", argv[0]);
 	}
 
 	write(execfd, &errno, sizeof(errno));
 	exit(EXIT_FAILURE);
 }
 
-void vproc_setup_env_from_other_jobs(vproc_t j)
+void job_setup_env_from_other_jobs(job_t j)
 {
 	struct envitem *ei;
-	vproc_t ji;
+	job_t ji;
 
 	SLIST_FOREACH(ji, &j->jobs, sle)
-		vproc_setup_env_from_other_jobs(ji);
+		job_setup_env_from_other_jobs(ji);
 
 	SLIST_FOREACH(ei, &j->global_env, sle)
 		setenv(ei->key, ei->value, 1);
 }
 
 void
-vproc_postfork_become_user(vproc_t j)
+job_postfork_become_user(job_t j)
 {
 	char loginname[2000];
 	struct passwd *pwe;
@@ -1589,12 +1589,12 @@
 
 	if (j->username) {
 		if ((pwe = getpwnam(j->username)) == NULL) {
-			vproc_log(j, LOG_ERR, "getpwnam(\"%s\") failed", j->username);
+			job_log(j, LOG_ERR, "getpwnam(\"%s\") failed", j->username);
 			_exit(EXIT_FAILURE);
 		}
 	} else if (j->mach_uid) {
 		if ((pwe = getpwuid(j->mach_uid)) == NULL) {
-			vproc_log(j, LOG_ERR, "getpwuid(\"%u\") failed", j->mach_uid);
+			job_log(j, LOG_ERR, "getpwuid(\"%u\") failed", j->mach_uid);
 			_exit(EXIT_FAILURE);
 		}
 	} else {
@@ -1604,7 +1604,7 @@
 	strlcpy(loginname, pwe->pw_name, sizeof(loginname));
 
 	if (pwe->pw_expire && time(NULL) >= pwe->pw_expire) {
-		vproc_log(j, LOG_ERR, "Expired account");
+		job_log(j, LOG_ERR, "Expired account");
 		_exit(EXIT_FAILURE);
 	}
 
@@ -1615,7 +1615,7 @@
 		struct group *gre;
 
 		if ((gre = getgrnam(j->groupname)) == NULL) {
-			vproc_log(j, LOG_ERR, "getgrnam(\"%s\") failed", j->groupname);
+			job_log(j, LOG_ERR, "getgrnam(\"%s\") failed", j->groupname);
 			_exit(EXIT_FAILURE);
 		}
 
@@ -1623,7 +1623,7 @@
 	}
 
 	if (-1 == setgid(desired_gid)) {
-		vproc_log_error(j, LOG_ERR, "setgid(%u)", desired_gid);
+		job_log_error(j, LOG_ERR, "setgid(%u)", desired_gid);
 		_exit(EXIT_FAILURE);
 	}
 
@@ -1633,19 +1633,19 @@
 
 	if (!j->no_init_groups) {
 		if (initgroups(loginname, desired_gid) == -1) {
-			vproc_log_error(j, LOG_ERR, "initgroups()");
+			job_log_error(j, LOG_ERR, "initgroups()");
 			_exit(EXIT_FAILURE);
 		}
 	}
 
 	if (-1 == setuid(desired_uid)) {
-		vproc_log_error(j, LOG_ERR, "setuid(%u)", desired_uid);
+		job_log_error(j, LOG_ERR, "setuid(%u)", desired_uid);
 		_exit(EXIT_FAILURE);
 	}
 }
 
 void
-vproc_setup_attributes(vproc_t j)
+job_setup_attributes(job_t j)
 {
 	struct limititem *li;
 	struct envitem *ei;
@@ -1656,7 +1656,7 @@
 		struct rlimit rl;
 
 		if (getrlimit(li->which, &rl) == -1) {
-			vproc_log_error(j, LOG_WARNING, "getrlimit()");
+			job_log_error(j, LOG_WARNING, "getrlimit()");
 			continue;
 		}
 
@@ -1666,7 +1666,7 @@
 			rl.rlim_cur = li->lim.rlim_cur;
 
 		if (setrlimit(li->which, &rl) == -1)
-			vproc_log_error(j, LOG_WARNING, "setrlimit()");
+			job_log_error(j, LOG_WARNING, "setrlimit()");
 	}
 
 	if (!j->inetcompat && j->session_create)
@@ -1674,7 +1674,7 @@
 
 	if (j->low_pri_io) {
 		if (setiopolicy_np(IOPOL_TYPE_DISK, IOPOL_SCOPE_PROCESS, IOPOL_THROTTLE) == -1) {
-			vproc_log_error(j, LOG_WARNING, "setiopolicy_np()");
+			job_log_error(j, LOG_WARNING, "setiopolicy_np()");
 		}
 	}
 	if (j->rootdir) {
@@ -1682,7 +1682,7 @@
 		chdir(".");
 	}
 
-	vproc_postfork_become_user(j);
+	job_postfork_become_user(j);
 
 	if (j->workingdir) {
 		chdir(j->workingdir);
@@ -1695,32 +1695,32 @@
 	if (j->stdinpath) {
 		int sifd = open(j->stdinpath, O_RDONLY|O_NOCTTY);
 		if (sifd == -1) {
-			vproc_log_error(j, LOG_WARNING, "open(\"%s\", ...)", j->stdinpath);
+			job_log_error(j, LOG_WARNING, "open(\"%s\", ...)", j->stdinpath);
 		} else {
-			vproc_assumes(j, dup2(sifd, STDIN_FILENO) != -1);
-			vproc_assumes(j, close(sifd) == 0);
+			job_assumes(j, dup2(sifd, STDIN_FILENO) != -1);
+			job_assumes(j, close(sifd) == 0);
 		}
 	}
 	if (j->stdoutpath) {
 		int sofd = open(j->stdoutpath, O_WRONLY|O_APPEND|O_CREAT|O_NOCTTY, DEFFILEMODE);
 		if (sofd == -1) {
-			vproc_log_error(j, LOG_WARNING, "open(\"%s\", ...)", j->stdoutpath);
+			job_log_error(j, LOG_WARNING, "open(\"%s\", ...)", j->stdoutpath);
 		} else {
-			vproc_assumes(j, dup2(sofd, STDOUT_FILENO) != -1);
-			vproc_assumes(j, close(sofd) == 0);
+			job_assumes(j, dup2(sofd, STDOUT_FILENO) != -1);
+			job_assumes(j, close(sofd) == 0);
 		}
 	}
 	if (j->stderrpath) {
 		int sefd = open(j->stderrpath, O_WRONLY|O_APPEND|O_CREAT|O_NOCTTY, DEFFILEMODE);
 		if (sefd == -1) {
-			vproc_log_error(j, LOG_WARNING, "open(\"%s\", ...)", j->stderrpath);
+			job_log_error(j, LOG_WARNING, "open(\"%s\", ...)", j->stderrpath);
 		} else {
-			vproc_assumes(j, dup2(sefd, STDERR_FILENO) != -1);
-			vproc_assumes(j, close(sefd) == 0);
+			job_assumes(j, dup2(sefd, STDERR_FILENO) != -1);
+			job_assumes(j, close(sefd) == 0);
 		}
 	}
 
-	vproc_setup_env_from_other_jobs(root_job);
+	job_setup_env_from_other_jobs(root_job);
 
 	SLIST_FOREACH(ei, &j->env, sle)
 		setenv(ei->key, ei->value, 1);
@@ -1729,7 +1729,7 @@
 }
 
 int
-dir_has_files(vproc_t j, const char *path)
+dir_has_files(job_t j, const char *path)
 {
 	DIR *dd = opendir(path);
 	struct dirent *de;
@@ -1745,12 +1745,12 @@
 		}
 	}
 
-	vproc_assumes(j, closedir(dd) == 0);
+	job_assumes(j, closedir(dd) == 0);
 	return r;
 }
 
 void
-calendarinterval_setalarm(vproc_t j, struct calendarinterval *ci)
+calendarinterval_setalarm(job_t j, struct calendarinterval *ci)
 {
 	time_t later;
 
@@ -1767,14 +1767,14 @@
 	}
 
 	if (-1 == kevent_mod((uintptr_t)ci, EVFILT_TIMER, EV_ADD, NOTE_ABSOLUTE|NOTE_SECONDS, later, j)) {
-		vproc_log_error(j, LOG_ERR, "adding kevent alarm");
+		job_log_error(j, LOG_ERR, "adding kevent alarm");
 	} else {
-		vproc_log(j, LOG_INFO, "scheduled to run again at %s", ctime(&later));
+		job_log(j, LOG_INFO, "scheduled to run again at %s", ctime(&later));
 	}
 }
 
 size_t
-vproc_prep_log_preface(vproc_t j, char *buf)
+job_prep_log_preface(job_t j, char *buf)
 {
 	size_t lsz = strlen(j->label);
 	char newlabel[lsz * 2 + 1];
@@ -1792,13 +1792,13 @@
 	newlabel[o] = '\0';
 
 	if (j->parent)
-		r = vproc_prep_log_preface(j->parent, buf);
+		r = job_prep_log_preface(j->parent, buf);
 
 	return r + sprintf(buf + r, "%s%s", j->parent ? "/" : "", newlabel);
 }
 
 void
-vproc_log_bug(vproc_t j, const char *rcs_rev, const char *path, unsigned int line, const char *test)
+job_log_bug(job_t j, const char *rcs_rev, const char *path, unsigned int line, const char *test)
 {
 	int saved_errno = errno;
 	char buf[100];
@@ -1820,17 +1820,17 @@
 			*rcs_rev_tmp = '\0';
 	}
 
-	vproc_log(j, LOG_NOTICE, "Bug: %s:%u (%s):%u: %s", file, line, buf, saved_errno, test);
+	job_log(j, LOG_NOTICE, "Bug: %s:%u (%s):%u: %s", file, line, buf, saved_errno, test);
 }
 
 void
-vproc_log_error(vproc_t j, int pri, const char *msg, ...)
+job_log_error(job_t j, int pri, const char *msg, ...)
 {
 	char newmsg[10000];
 	va_list ap;
 	size_t o;
 
-	o = vproc_prep_log_preface(j, newmsg);
+	o = job_prep_log_preface(j, newmsg);
 
 	sprintf(newmsg + o, ": %s: %s", msg, strerror(errno));
 
@@ -1840,13 +1840,13 @@
 }
 
 void
-vproc_log(vproc_t j, int pri, const char *msg, ...)
+job_log(job_t j, int pri, const char *msg, ...)
 {
 	char newmsg[10000];
 	va_list ap;
 	size_t o;
 
-	o = vproc_prep_log_preface(j, newmsg);
+	o = job_prep_log_preface(j, newmsg);
 
 	sprintf(newmsg + o, ": %s", msg);
 
@@ -1856,11 +1856,11 @@
 }
 
 bool
-watchpath_new(vproc_t j, const char *name, bool qdir)
+watchpath_new(job_t j, const char *name, bool qdir)
 {
 	struct watchpath *wp = calloc(1, sizeof(struct watchpath) + strlen(name) + 1);
 
-	if (!vproc_assumes(j, wp != NULL))
+	if (!job_assumes(j, wp != NULL))
 		return false;
 
 	wp->is_qdir = qdir;
@@ -1875,10 +1875,10 @@
 }       
 
 void
-watchpath_delete(vproc_t j, struct watchpath *wp) 
+watchpath_delete(job_t j, struct watchpath *wp) 
 {
 	if (wp->fd != -1)
-		vproc_assumes(j, close(wp->fd) != -1);
+		job_assumes(j, close(wp->fd) != -1);
 
 	SLIST_REMOVE(&j->vnodes, wp, watchpath, sle);
 
@@ -1886,16 +1886,16 @@
 }       
 
 void    
-watchpath_ignore(vproc_t j, struct watchpath *wp)
+watchpath_ignore(job_t j, struct watchpath *wp)
 {       
 	if (wp->fd != -1) {
-		vproc_log(j, LOG_DEBUG, "Ignoring Vnode: %d", wp->fd);
-		vproc_assumes(j, kevent_mod(wp->fd, EVFILT_VNODE, EV_DELETE, 0, 0, NULL) != -1);
+		job_log(j, LOG_DEBUG, "Ignoring Vnode: %d", wp->fd);
+		job_assumes(j, kevent_mod(wp->fd, EVFILT_VNODE, EV_DELETE, 0, 0, NULL) != -1);
 	}
 }
 
 void
-watchpath_watch(vproc_t j, struct watchpath *wp)
+watchpath_watch(job_t j, struct watchpath *wp)
 {
 	int fflags = NOTE_WRITE|NOTE_EXTEND|NOTE_ATTRIB|NOTE_LINK;
 	int qdir_file_cnt;
@@ -1907,23 +1907,23 @@
 		wp->fd = _fd(open(wp->name, O_EVTONLY|O_NOCTTY|O_NOFOLLOW));
 
 	if (wp->fd == -1)
-		return vproc_log_error(j, LOG_ERR, "Watchpath monitoring failed on \"%s\"", wp->name);
+		return job_log_error(j, LOG_ERR, "Watchpath monitoring failed on \"%s\"", wp->name);
 
-	vproc_log(j, LOG_DEBUG, "Watching Vnode: %d", wp->fd);
-	vproc_assumes(j, kevent_mod(wp->fd, EVFILT_VNODE, EV_ADD|EV_CLEAR, fflags, 0, j) != -1);
+	job_log(j, LOG_DEBUG, "Watching Vnode: %d", wp->fd);
+	job_assumes(j, kevent_mod(wp->fd, EVFILT_VNODE, EV_ADD|EV_CLEAR, fflags, 0, j) != -1);
 
 	if (!wp->is_qdir)
 		return;
 
 	if (-1 == (qdir_file_cnt = dir_has_files(j, wp->name))) {
-		vproc_log_error(j, LOG_ERR, "dir_has_files(\"%s\", ...)", wp->name);
+		job_log_error(j, LOG_ERR, "dir_has_files(\"%s\", ...)", wp->name);
 	} else if (qdir_file_cnt > 0) {
-		vproc_dispatch(j, true);
+		job_dispatch(j, true);
 	}
 }
 
 void
-watchpath_callback(vproc_t j, struct kevent *kev)
+watchpath_callback(job_t j, struct kevent *kev)
 {
 	struct watchpath *wp;
 	int dir_file_cnt;
@@ -1933,30 +1933,30 @@
 			break;
 	}
 
-	vproc_assumes(j, wp != NULL);
+	job_assumes(j, wp != NULL);
 
 	if ((NOTE_DELETE|NOTE_RENAME|NOTE_REVOKE) & kev->fflags) {
-		vproc_log(j, LOG_DEBUG, "Path invalidated: %s", wp->name);
-		vproc_assumes(j, close(wp->fd) == 0);
+		job_log(j, LOG_DEBUG, "Path invalidated: %s", wp->name);
+		job_assumes(j, close(wp->fd) == 0);
 		wp->fd = -1; /* this will get fixed in watchpath_watch() */
 	} else if (!wp->is_qdir) {
-		vproc_log(j, LOG_DEBUG, "Watch path modified: %s", wp->name);
+		job_log(j, LOG_DEBUG, "Watch path modified: %s", wp->name);
 	} else {
-		vproc_log(j, LOG_DEBUG, "Queue directory modified: %s", wp->name);
+		job_log(j, LOG_DEBUG, "Queue directory modified: %s", wp->name);
 
 		if (-1 == (dir_file_cnt = dir_has_files(j, wp->name))) {
-			vproc_log_error(j, LOG_ERR, "dir_has_files(\"%s\", ...)", wp->name);
+			job_log_error(j, LOG_ERR, "dir_has_files(\"%s\", ...)", wp->name);
 		} else if (0 == dir_file_cnt) {
-			vproc_log(j, LOG_DEBUG, "Spurious wake up, directory is empty again: %s", wp->name);
+			job_log(j, LOG_DEBUG, "Spurious wake up, directory is empty again: %s", wp->name);
 			return;
 		}
 	}
 
-	vproc_dispatch(j, true);
+	job_dispatch(j, true);
 }
 
 bool
-calendarinterval_new_from_obj(vproc_t j, launch_data_t obj)
+calendarinterval_new_from_obj(job_t j, launch_data_t obj)
 {
 	launch_data_t tmp_k;
 	struct tm tmptm;
@@ -1987,11 +1987,11 @@
 }
 
 bool
-calendarinterval_new(vproc_t j, struct tm *w)
+calendarinterval_new(job_t j, struct tm *w)
 {
 	struct calendarinterval *ci = calloc(1, sizeof(struct calendarinterval));
 
-	if (!vproc_assumes(j, ci != NULL))
+	if (!job_assumes(j, ci != NULL))
 		return false;
 
 	ci->when = *w;
@@ -2004,9 +2004,9 @@
 }
 
 void
-calendarinterval_delete(vproc_t j, struct calendarinterval *ci)
+calendarinterval_delete(job_t j, struct calendarinterval *ci)
 {
-	vproc_assumes(j, kevent_mod((uintptr_t)ci, EVFILT_TIMER, EV_DELETE, 0, 0, NULL) != -1);
+	job_assumes(j, kevent_mod((uintptr_t)ci, EVFILT_TIMER, EV_DELETE, 0, 0, NULL) != -1);
 
 	SLIST_REMOVE(&j->cal_intervals, ci, calendarinterval, sle);
 
@@ -2014,7 +2014,7 @@
 }
 
 void
-calendarinterval_callback(vproc_t j, struct kevent *kev)
+calendarinterval_callback(job_t j, struct kevent *kev)
 {
 	struct calendarinterval *ci;
 
@@ -2023,25 +2023,25 @@
 			break;
 	}
 
-	if (vproc_assumes(j, ci != NULL)) {
+	if (job_assumes(j, ci != NULL)) {
 		calendarinterval_setalarm(j, ci);
-		vproc_dispatch(j, true);
+		job_dispatch(j, true);
 	}
 }
 
 bool
-socketgroup_new(vproc_t j, const char *name, int *fds, unsigned int fd_cnt, bool junkfds)
+socketgroup_new(job_t j, const char *name, int *fds, unsigned int fd_cnt, bool junkfds)
 {
 	struct socketgroup *sg = calloc(1, sizeof(struct socketgroup) + strlen(name) + 1);
 
-	if (!vproc_assumes(j, sg != NULL))
+	if (!job_assumes(j, sg != NULL))
 		return false;
 
 	sg->fds = calloc(1, fd_cnt * sizeof(int));
 	sg->fd_cnt = fd_cnt;
 	sg->junkfds = junkfds;
 
-	if (!vproc_assumes(j, sg->fds != NULL)) {
+	if (!job_assumes(j, sg->fds != NULL)) {
 		free(sg);
 		return false;
 	}
@@ -2055,12 +2055,12 @@
 }
 
 void
-socketgroup_delete(vproc_t j, struct socketgroup *sg)
+socketgroup_delete(job_t j, struct socketgroup *sg)
 {
 	unsigned int i;
 
 	for (i = 0; i < sg->fd_cnt; i++)
-		vproc_assumes(j, close(sg->fds[i]) != -1);
+		job_assumes(j, close(sg->fds[i]) != -1);
 
 	SLIST_REMOVE(&j->sockets, sg, socketgroup, sle);
 
@@ -2069,7 +2069,7 @@
 }
 
 void
-socketgroup_ignore(vproc_t j, struct socketgroup *sg)
+socketgroup_ignore(job_t j, struct socketgroup *sg)
 {
 	char buf[10000];
 	unsigned int i, buf_off = 0;
@@ -2080,14 +2080,14 @@
 	for (i = 0; i < sg->fd_cnt; i++)
 		buf_off += sprintf(buf + buf_off, " %d", sg->fds[i]);
 
-	vproc_log(j, LOG_DEBUG, "Ignoring Sockets:%s", buf);
+	job_log(j, LOG_DEBUG, "Ignoring Sockets:%s", buf);
 
 	for (i = 0; i < sg->fd_cnt; i++)
-		vproc_assumes(j, kevent_mod(sg->fds[i], EVFILT_READ, EV_DELETE, 0, 0, NULL) != -1);
+		job_assumes(j, kevent_mod(sg->fds[i], EVFILT_READ, EV_DELETE, 0, 0, NULL) != -1);
 }
 
 void
-socketgroup_watch(vproc_t j, struct socketgroup *sg)
+socketgroup_watch(job_t j, struct socketgroup *sg)
 {
 	char buf[10000];
 	unsigned int i, buf_off = 0;
@@ -2098,24 +2098,24 @@
 	for (i = 0; i < sg->fd_cnt; i++)
 		buf_off += sprintf(buf + buf_off, " %d", sg->fds[i]);
 
-	vproc_log(j, LOG_DEBUG, "Watching sockets:%s", buf);
+	job_log(j, LOG_DEBUG, "Watching sockets:%s", buf);
 
 	for (i = 0; i < sg->fd_cnt; i++)
-		vproc_assumes(j, kevent_mod(sg->fds[i], EVFILT_READ, EV_ADD, 0, 0, j) != -1);
+		job_assumes(j, kevent_mod(sg->fds[i], EVFILT_READ, EV_ADD, 0, 0, j) != -1);
 }
 
 void
-socketgroup_callback(vproc_t j, struct kevent *kev)
+socketgroup_callback(job_t j, struct kevent *kev)
 {
-	vproc_dispatch(j, true);
+	job_dispatch(j, true);
 }
 
 bool
-envitem_new(vproc_t j, const char *k, const char *v, bool global)
+envitem_new(job_t j, const char *k, const char *v, bool global)
 {
 	struct envitem *ei = calloc(1, sizeof(struct envitem) + strlen(k) + 1 + strlen(v) + 1);
 
-	if (!vproc_assumes(j, ei != NULL))
+	if (!job_assumes(j, ei != NULL))
 		return false;
 
 	strcpy(ei->key, k);
@@ -2132,7 +2132,7 @@
 }
 
 void
-envitem_delete(vproc_t j, struct envitem *ei, bool global)
+envitem_delete(job_t j, struct envitem *ei, bool global)
 {
 	if (global) {
 		SLIST_REMOVE(&j->global_env, ei, envitem, sle);
@@ -2146,7 +2146,7 @@
 void
 envitem_setup(launch_data_t obj, const char *key, void *context)
 {
-	vproc_t j = context;
+	job_t j = context;
 
 	if (launch_data_get_type(obj) != LAUNCH_DATA_STRING)
 		return;
@@ -2155,7 +2155,7 @@
 }
 
 bool
-limititem_update(vproc_t j, int w, rlim_t r)
+limititem_update(job_t j, int w, rlim_t r)
 {
 	struct limititem *li;
 
@@ -2167,7 +2167,7 @@
 	if (li == NULL) {
 		li = calloc(1, sizeof(struct limititem));
 
-		if (!vproc_assumes(j, li != NULL))
+		if (!job_assumes(j, li != NULL))
 			return false;
 
 		li->which = w;
@@ -2185,7 +2185,7 @@
 }
 
 void
-limititem_delete(vproc_t j, struct limititem *li)
+limititem_delete(job_t j, struct limititem *li)
 {
 	SLIST_REMOVE(&j->limits, li, limititem, sle);
 
@@ -2195,7 +2195,7 @@
 void
 limititem_setup(launch_data_t obj, const char *key, void *context)
 {
-	vproc_t j = context;
+	job_t j = context;
 	int i, limits_cnt = (sizeof(launchd_keys2limits) / sizeof(launchd_keys2limits[0]));
 	rlim_t rl;
 
@@ -2216,19 +2216,19 @@
 }
 
 bool
-vproc_useless(vproc_t j)
+job_useless(job_t j)
 {
 	if (j->unload_at_exit && j->start_time != 0) {
-		vproc_log(j, LOG_INFO, "Exited. Was only configured to run once.");
+		job_log(j, LOG_INFO, "Exited. Was only configured to run once.");
 		return true;
 	} else if (shutdown_in_progress) {
-		vproc_log(j, LOG_INFO, "Exited while shutdown in progress.");
+		job_log(j, LOG_INFO, "Exited while shutdown in progress.");
 		return true;
 	} else if (!j->checkedin && (!SLIST_EMPTY(&j->sockets) || !SLIST_EMPTY(&j->machservices))) {
-		vproc_log(j, LOG_WARNING, "Failed to check-in!");
+		job_log(j, LOG_WARNING, "Failed to check-in!");
 		return true;
 	} else if (j->legacy_mach_job && SLIST_EMPTY(&j->machservices)) {
-		vproc_log(j, LOG_INFO, "Garbage collecting");
+		job_log(j, LOG_INFO, "Garbage collecting");
 		return true;
 	}
 
@@ -2236,7 +2236,7 @@
 }
 
 bool
-vproc_keepalive(vproc_t j)
+job_keepalive(job_t j)
 {
 	mach_msg_type_number_t statusCnt;
 	mach_port_status_t status;
@@ -2247,12 +2247,12 @@
 	bool dispatch_others = false;
 
 	if (j->runatload && j->start_time == 0) {
-		vproc_log(j, LOG_DEBUG, "KeepAlive check: job needs to run at least once.");
+		job_log(j, LOG_DEBUG, "KeepAlive check: job needs to run at least once.");
 		return true;
 	}
 
 	if (!j->ondemand) {
-		vproc_log(j, LOG_DEBUG, "KeepAlive check: job configured to run continuously.");
+		job_log(j, LOG_DEBUG, "KeepAlive check: job configured to run continuously.");
 		return true;
 	}
 
@@ -2262,7 +2262,7 @@
 					(mach_port_info_t)&status, &statusCnt) != KERN_SUCCESS)
 			continue;
 		if (status.mps_msgcount) {
-			vproc_log(j, LOG_DEBUG, "KeepAlive check: job restarted due to %d queued Mach messages on service: %s",
+			job_log(j, LOG_DEBUG, "KeepAlive check: job restarted due to %d queued Mach messages on service: %s",
 					status.mps_msgcount, ms->name);
 			return true;
 		}
@@ -2276,7 +2276,7 @@
 			wanted_state = true;
 		case NETWORK_DOWN:
 			if (network_up == wanted_state) {
-				vproc_log(j, LOG_DEBUG, "KeepAlive check: job configured to run while the network is %s.",
+				job_log(j, LOG_DEBUG, "KeepAlive check: job configured to run while the network is %s.",
 						wanted_state ? "up" : "down");
 				return true;
 			}
@@ -2285,7 +2285,7 @@
 			wanted_state = true;
 		case FAILED_EXIT:
 			if (good_exit == wanted_state) {
-				vproc_log(j, LOG_DEBUG, "KeepAlive check: job configured to run while the exit state was %s.",
+				job_log(j, LOG_DEBUG, "KeepAlive check: job configured to run while the exit state was %s.",
 						wanted_state ? "successful" : "failure");
 				return true;
 			}
@@ -2294,7 +2294,7 @@
 			wanted_state = true;
 		case PATH_MISSING:
 			if ((bool)(stat(si->what, &sb) == 0) == wanted_state) {
-				vproc_log(j, LOG_DEBUG, "KeepAlive check: job configured to run while the following path %s: %s",
+				job_log(j, LOG_DEBUG, "KeepAlive check: job configured to run while the following path %s: %s",
 						wanted_state ? "exists" : "is missing", si->what);
 				return true;
 			}
@@ -2305,13 +2305,13 @@
 
 	/* Maybe another job has the inverse path based semaphore as this job */
 	if (dispatch_others)
-		vproc_dispatch_all_other_semaphores(root_job, j);
+		job_dispatch_all_other_semaphores(root_job, j);
 
 	return false;
 }
 
 const char *
-vproc_prog(vproc_t j)
+job_prog(job_t j)
 {
 	if (j->prog) {
 		return j->prog;
@@ -2323,7 +2323,7 @@
 }
 
 bool
-vproc_active(vproc_t j)
+job_active(job_t j)
 {
 	struct machservice *ms;
 
@@ -2336,9 +2336,9 @@
 	if (j->priv_port_has_senders) {
 		if (j->start_time && !j->checkedin) {
 			if (j->legacy_mach_job) {
-				vproc_log(j, LOG_NOTICE, "Daemonized. Extremely expensive no-op.");
+				job_log(j, LOG_NOTICE, "Daemonized. Extremely expensive no-op.");
 			} else if (!j->unload_at_exit) {
-				vproc_log(j, LOG_ERR, "Daemonization is not supported under launchd.");
+				job_log(j, LOG_ERR, "Daemonization is not supported under launchd.");
 				return false;
 			}
 		}
@@ -2356,25 +2356,25 @@
 pid_t
 launchd_fork(void)
 {
-	return vproc_fork(root_job);
+	return job_fork(root_job);
 }
 
 pid_t
-vproc_fork(vproc_t j)
+job_fork(job_t j)
 {
 	mach_port_t p = j->bs_port;
 	pid_t r = -1;
 
 	sigprocmask(SIG_BLOCK, &blocked_signals, NULL);
 
-	vproc_assumes(j, launchd_mport_make_send(p) == KERN_SUCCESS);
-	vproc_assumes(j, launchd_set_bport(p) == KERN_SUCCESS);
-	vproc_assumes(j, launchd_mport_deallocate(p) == KERN_SUCCESS);
+	job_assumes(j, launchd_mport_make_send(p) == KERN_SUCCESS);
+	job_assumes(j, launchd_set_bport(p) == KERN_SUCCESS);
+	job_assumes(j, launchd_mport_deallocate(p) == KERN_SUCCESS);
 
 	r = fork();
 
 	if (r != 0) {
-		vproc_assumes(j, launchd_set_bport(MACH_PORT_NULL) == KERN_SUCCESS);
+		job_assumes(j, launchd_set_bport(MACH_PORT_NULL) == KERN_SUCCESS);
 	} else if (r == 0) {
 		size_t i;
 
@@ -2390,16 +2390,16 @@
 }
 
 void
-machservice_resetport(vproc_t j, struct machservice *ms)
+machservice_resetport(job_t j, struct machservice *ms)
 {
-	vproc_assumes(j, launchd_mport_close_recv(ms->port) == KERN_SUCCESS);
-	vproc_assumes(j, launchd_mport_deallocate(ms->port) == KERN_SUCCESS);
-	vproc_assumes(j, launchd_mport_create_recv(&ms->port) == KERN_SUCCESS);
-	vproc_assumes(j, launchd_mport_make_send(ms->port) == KERN_SUCCESS);
+	job_assumes(j, launchd_mport_close_recv(ms->port) == KERN_SUCCESS);
+	job_assumes(j, launchd_mport_deallocate(ms->port) == KERN_SUCCESS);
+	job_assumes(j, launchd_mport_create_recv(&ms->port) == KERN_SUCCESS);
+	job_assumes(j, launchd_mport_make_send(ms->port) == KERN_SUCCESS);
 }
 
 struct machservice *
-machservice_new(vproc_t j, const char *name, mach_port_t *serviceport)
+machservice_new(job_t j, const char *name, mach_port_t *serviceport)
 {
 	struct machservice *ms;
 
@@ -2410,10 +2410,10 @@
 	ms->job = j;
 
 	if (*serviceport == MACH_PORT_NULL) {
-		if (!vproc_assumes(j, launchd_mport_create_recv(&ms->port) == KERN_SUCCESS))
+		if (!job_assumes(j, launchd_mport_create_recv(&ms->port) == KERN_SUCCESS))
 			goto out_bad;
 
-		if (!vproc_assumes(j, launchd_mport_make_send(ms->port) == KERN_SUCCESS))
+		if (!job_assumes(j, launchd_mport_make_send(ms->port) == KERN_SUCCESS))
 			goto out_bad2;
 		*serviceport = ms->port;
 		ms->isActive = false;
@@ -2425,11 +2425,11 @@
 
 	SLIST_INSERT_HEAD(&j->machservices, ms, sle);
 
-	vproc_log(j, LOG_INFO, "Mach service added: %s", name);
+	job_log(j, LOG_INFO, "Mach service added: %s", name);
 
 	return ms;
 out_bad2:
-	vproc_assumes(j, launchd_mport_close_recv(ms->port) == KERN_SUCCESS);
+	job_assumes(j, launchd_mport_close_recv(ms->port) == KERN_SUCCESS);
 out_bad:
 	free(ms);
 	return NULL;
@@ -2470,7 +2470,7 @@
 	em = EXC_MASK_RPC_ALERT;
 #endif
 
-	if (!vproc_assumes(ms->job, mhp != MACH_PORT_NULL)) {
+	if (!job_assumes(ms->job, mhp != MACH_PORT_NULL)) {
 		return;
 	}
 
@@ -2485,17 +2485,17 @@
 			case TASK_BOOTSTRAP_PORT:
 			/* I find it a little odd that zero isn't reserved in the header */
 			case 0:
-				vproc_log(ms->job, LOG_WARNING, "Tried to set a reserved task special port: %d", which_port);
+				job_log(ms->job, LOG_WARNING, "Tried to set a reserved task special port: %d", which_port);
 				break;
 			default:
-				vproc_assumes(ms->job, (errno = task_set_special_port(mts, which_port, ms->port)) == KERN_SUCCESS);
+				job_assumes(ms->job, (errno = task_set_special_port(mts, which_port, ms->port)) == KERN_SUCCESS);
 				break;
 			}
 		} else if (strcasecmp(key, LAUNCH_JOBKEY_MACH_HOSTSPECIALPORT) == 0 && getpid() == 1) {
 			if (which_port > HOST_MAX_SPECIAL_KERNEL_PORT) {
-				vproc_assumes(ms->job, (errno = host_set_special_port(mhp, which_port, ms->port)) == KERN_SUCCESS);
+				job_assumes(ms->job, (errno = host_set_special_port(mhp, which_port, ms->port)) == KERN_SUCCESS);
 			} else {
-				vproc_log(ms->job, LOG_WARNING, "Tried to set a reserved host special port: %d", which_port);
+				job_log(ms->job, LOG_WARNING, "Tried to set a reserved host special port: %d", which_port);
 			}
 		}
 	case LAUNCH_DATA_BOOL:
@@ -2505,34 +2505,34 @@
 		} else if (strcasecmp(key, LAUNCH_JOBKEY_MACH_HIDEUNTILCHECKIN) == 0) {
 			ms->hide = b;
 		} else if (strcasecmp(key, LAUNCH_JOBKEY_MACH_EXCEPTIONSERVER) == 0) {
-			vproc_assumes(ms->job, task_set_exception_ports(mts, em, ms->port,
+			job_assumes(ms->job, task_set_exception_ports(mts, em, ms->port,
 						EXCEPTION_STATE_IDENTITY, f) == KERN_SUCCESS);
 		} else if (strcasecmp(key, LAUNCH_JOBKEY_MACH_KUNCSERVER) == 0) {
 			ms->kUNCServer = b;
-			vproc_assumes(ms->job, host_set_UNDServer(mhp, ms->port) == KERN_SUCCESS);
+			job_assumes(ms->job, host_set_UNDServer(mhp, ms->port) == KERN_SUCCESS);
 		}
 		break;
 	default:
 		break;
 	}
 
-	vproc_assumes(ms->job, launchd_mport_deallocate(mhp) == KERN_SUCCESS);
+	job_assumes(ms->job, launchd_mport_deallocate(mhp) == KERN_SUCCESS);
 }
 
 void
 machservice_setup(launch_data_t obj, const char *key, void *context)
 {
-	vproc_t j = context;
+	job_t j = context;
 	struct machservice *ms;
 	mach_port_t p = MACH_PORT_NULL;
 
-	if ((ms = vproc_lookup_service(j->parent, key, false))) {
-		vproc_log(j, LOG_WARNING, "Conflict with job: %s over Mach service: %s", ms->job->label, key);
+	if ((ms = job_lookup_service(j->parent, key, false))) {
+		job_log(j, LOG_WARNING, "Conflict with job: %s over Mach service: %s", ms->job->label, key);
 		return;
 	}
 
 	if ((ms = machservice_new(j, key, &p)) == NULL) {
-		vproc_log_error(j, LOG_WARNING, "Cannot add service: %s", key);
+		job_log_error(j, LOG_WARNING, "Cannot add service: %s", key);
 		return;
 	}
 
@@ -2543,35 +2543,35 @@
 	}
 }
 
-vproc_t 
-vproc_parent(vproc_t j)
+job_t 
+job_parent(job_t j)
 {
 	return j->parent;
 }
 
 void
-vproc_uncork_fork(vproc_t j)
+job_uncork_fork(job_t j)
 {
 	pid_t c = j->p;
 
 	if (j->stall_before_exec) {
-		vproc_log(j, LOG_DEBUG, "Uncorking the fork().");
+		job_log(j, LOG_DEBUG, "Uncorking the fork().");
 		/* this unblocks the child and avoids a race
 		 * between the above fork() and the kevent_mod() */
 		write(j->execfd, &c, sizeof(c));
 		j->stall_before_exec = false;
 	} else {
-		vproc_log(j, LOG_WARNING, "Attempt to uncork a job that isn't in the middle of a fork().");
+		job_log(j, LOG_WARNING, "Attempt to uncork a job that isn't in the middle of a fork().");
 	}
 }
 
 void
-vproc_foreach_service(vproc_t j, void (*bs_iter)(struct machservice *, void *), void *context, bool include_subjobs)
+job_foreach_service(job_t j, void (*bs_iter)(struct machservice *, void *), void *context, bool include_subjobs)
 {
 	struct machservice *ms;
-	vproc_t ji;
+	job_t ji;
 
-	j = vproc_get_bs(j);
+	j = job_get_bs(j);
 
 	if (include_subjobs) {
 		SLIST_FOREACH(ji, &j->jobs, sle) {
@@ -2587,52 +2587,52 @@
 		bs_iter(ms, context);
 }
 
-vproc_t 
-vproc_new_bootstrap(vproc_t p, mach_port_t requestorport, mach_port_t checkin_port)
+job_t 
+job_new_bootstrap(job_t p, mach_port_t requestorport, mach_port_t checkin_port)
 {
 	char bslabel[1024] = "100000";
-	vproc_t j;
+	job_t j;
 
 	if (requestorport == MACH_PORT_NULL) {
 		if (p) {
-			vproc_log(p, LOG_ERR, "Mach sub-bootstrap create request requires a requester port");
+			job_log(p, LOG_ERR, "Mach sub-bootstrap create request requires a requester port");
 		}
 		return NULL;
 	}
 
-	j = vproc_new(p, bslabel, NULL, NULL, NULL, requestorport);
+	j = job_new(p, bslabel, NULL, NULL, NULL, requestorport);
 	
 	if (j == NULL)
 		return NULL;
 
 	if (checkin_port != MACH_PORT_NULL) {
 		j->bs_port = checkin_port;
-	} else if (!vproc_assumes(j, launchd_mport_create_recv(&j->bs_port) == KERN_SUCCESS)) {
+	} else if (!job_assumes(j, launchd_mport_create_recv(&j->bs_port) == KERN_SUCCESS)) {
 		goto out_bad;
 	}
 
 	sprintf(j->label, "%d", MACH_PORT_INDEX(j->bs_port));
 
-	if (!vproc_assumes(j, launchd_mport_request_callback(j->bs_port, j, true) == KERN_SUCCESS))
+	if (!job_assumes(j, launchd_mport_request_callback(j->bs_port, j, true) == KERN_SUCCESS))
 		goto out_bad;
 
 	if (p) {
-		vproc_log(p, LOG_DEBUG, "Mach sub-bootstrap created: %s", j->label);
+		job_log(p, LOG_DEBUG, "Mach sub-bootstrap created: %s", j->label);
 	}
 
 	return j;
 
 out_bad:
 	if (j)
-		vproc_remove(j);
+		job_remove(j);
 	return NULL;
 }
 
 void
-vproc_delete_anything_with_port(vproc_t j, mach_port_t port)
+job_delete_anything_with_port(job_t j, mach_port_t port)
 {
 	struct machservice *ms, *next_ms;
-	vproc_t ji, jn;
+	job_t ji, jn;
 
 	/* Mach ports, unlike Unix descriptors, are reference counted. In other
 	 * words, when some program hands us a second or subsequent send right
@@ -2645,7 +2645,7 @@
 	 */
 
 	SLIST_FOREACH_SAFE(ji, &j->jobs, sle, jn) {
-		vproc_delete_anything_with_port(ji, port);
+		job_delete_anything_with_port(ji, port);
 	}
 
 	SLIST_FOREACH_SAFE(ms, &j->machservices, sle, next_ms) {
@@ -2657,19 +2657,19 @@
 		if (j == root_job) {
 			launchd_shutdown();
 		} else {
-			vproc_remove(j);
+			job_remove(j);
 		}
 	}
 
 }
 
 struct machservice *
-vproc_lookup_service(vproc_t j, const char *name, bool check_parent)
+job_lookup_service(job_t j, const char *name, bool check_parent)
 {
 	struct machservice *ms;
-	vproc_t ji;
+	job_t ji;
 
-	j = vproc_get_bs(j);
+	j = job_get_bs(j);
 
 	SLIST_FOREACH(ji, &j->jobs, sle) {
 		if (ji->req_port)
@@ -2692,7 +2692,7 @@
 	if (!check_parent)
 		return NULL;
 
-	return vproc_lookup_service(j->parent, name, true);
+	return job_lookup_service(j->parent, name, true);
 }
 
 mach_port_t
@@ -2701,7 +2701,7 @@
 	return ms->port;
 }
 
-vproc_t 
+job_t 
 machservice_job(struct machservice *ms)
 {
 	return ms->job;
@@ -2731,15 +2731,15 @@
 	if (ms->recv) {
 		if (ms->isActive) {
 			/* FIXME we should cancel the notification */
-			vproc_log(ms->job, LOG_ERR, "Mach service deleted while we didn't own the receive right: %s", ms->name);
+			job_log(ms->job, LOG_ERR, "Mach service deleted while we didn't own the receive right: %s", ms->name);
 		} else {
-			vproc_assumes(ms->job, launchd_mport_close_recv(ms->port) == KERN_SUCCESS);
+			job_assumes(ms->job, launchd_mport_close_recv(ms->port) == KERN_SUCCESS);
 		}
 	}
 
-	vproc_assumes(ms->job, launchd_mport_deallocate(ms->port) == KERN_SUCCESS);
+	job_assumes(ms->job, launchd_mport_deallocate(ms->port) == KERN_SUCCESS);
 
-	vproc_log(ms->job, LOG_INFO, "Mach service deleted: %s", ms->name);
+	job_log(ms->job, LOG_INFO, "Mach service deleted: %s", ms->name);
 
 	SLIST_REMOVE(&ms->job->machservices, ms, machservice, sle);
 
@@ -2755,10 +2755,10 @@
 
 	if (ms->job->req_port == MACH_PORT_NULL) {
 		which = MACH_NOTIFY_PORT_DESTROYED;
-		vproc_checkin(ms->job);
+		job_checkin(ms->job);
 	}
 
-	vproc_assumes(ms->job, launchd_mport_notify_req(ms->port, which) == KERN_SUCCESS);
+	job_assumes(ms->job, launchd_mport_notify_req(ms->port, which) == KERN_SUCCESS);
 }
 
 #define NELEM(x)                (sizeof(x)/sizeof(x[0]))
@@ -2810,19 +2810,19 @@
 }
 
 void
-vproc_checkin(vproc_t j)
+job_checkin(job_t j)
 {
 	j->checkedin = true;
 }
 
 bool
-vproc_ack_port_destruction(vproc_t j, mach_port_t p)
+job_ack_port_destruction(job_t j, mach_port_t p)
 {
-	vproc_t ji;
+	job_t ji;
 	struct machservice *ms;
 
 	SLIST_FOREACH(ji, &j->jobs, sle) {
-		if (vproc_ack_port_destruction(ji, p))
+		if (job_ack_port_destruction(ji, p))
 			return true;
 	}
 
@@ -2839,25 +2839,25 @@
 	if (ms->reset)
 		machservice_resetport(j, ms);
 
-	vproc_log(j, LOG_DEBUG, "Receive right returned to us: %s", ms->name);
+	job_log(j, LOG_DEBUG, "Receive right returned to us: %s", ms->name);
 
-	vproc_dispatch(j, false);
+	job_dispatch(j, false);
 
 	return true;
 }
 
 void
-vproc_ack_no_senders(vproc_t j)
+job_ack_no_senders(job_t j)
 {
 	j->priv_port_has_senders = false;
 
-	vproc_log(j, LOG_DEBUG, "No more senders on privileged Mach bootstrap port");
+	job_log(j, LOG_DEBUG, "No more senders on privileged Mach bootstrap port");
 
-	vproc_dispatch(j, false);
+	job_dispatch(j, false);
 }
 
 mach_port_t
-vproc_get_reqport(vproc_t j)
+job_get_reqport(job_t j)
 {
 	j->transfer_bstrap = true;
 	gc_this_job = j;
@@ -2866,31 +2866,31 @@
 }
 
 mach_port_t
-vproc_get_bsport(vproc_t j)
+job_get_bsport(job_t j)
 {
 	return j->bs_port;
 }
 
-vproc_t 
-vproc_get_bs(vproc_t j)
+job_t 
+job_get_bs(job_t j)
 {
 	if (j->req_port)
 		return j;
 
-	if (vproc_assumes(j, j->parent != NULL))
+	if (job_assumes(j, j->parent != NULL))
 		return j->parent;
 
 	return NULL;
 }
 
 pid_t
-vproc_get_pid(vproc_t j)
+job_get_pid(job_t j)
 {
 	return j->p;
 }
 
 bool
-semaphoreitem_new(vproc_t j, semaphore_reason_t why, const char *what)
+semaphoreitem_new(job_t j, semaphore_reason_t why, const char *what)
 {
 	struct semaphoreitem *si;
 	size_t alloc_sz = sizeof(struct semaphoreitem);
@@ -2898,7 +2898,7 @@
 	if (what)
 		alloc_sz += strlen(what) + 1;
 
-	if (!vproc_assumes(j, si = calloc(1, alloc_sz)))
+	if (!job_assumes(j, si = calloc(1, alloc_sz)))
 		return false;
 
 	si->why = why;
@@ -2912,7 +2912,7 @@
 }
 
 void
-semaphoreitem_delete(vproc_t j, struct semaphoreitem *ri)
+semaphoreitem_delete(job_t j, struct semaphoreitem *ri)
 {
 	SLIST_REMOVE(&j->semaphores, ri, semaphoreitem, sle);
 
@@ -2922,7 +2922,7 @@
 void
 semaphoreitem_setup_paths(launch_data_t obj, const char *key, void *context)
 {
-	vproc_t j = context;
+	job_t j = context;
 	semaphore_reason_t why;
 
 	why = launch_data_get_bool(obj) ? PATH_EXISTS : PATH_MISSING;
@@ -2933,7 +2933,7 @@
 void
 semaphoreitem_setup(launch_data_t obj, const char *key, void *context)
 {
-	vproc_t j = context;
+	job_t j = context;
 	semaphore_reason_t why;
 
 	if (strcasecmp(key, LAUNCH_JOBKEY_KEEPALIVE_NETWORKSTATE) == 0) {
@@ -2950,19 +2950,19 @@
 }
 
 void
-vproc_dispatch_all_other_semaphores(vproc_t j, vproc_t nj)
+job_dispatch_all_other_semaphores(job_t j, job_t nj)
 {
-	vproc_t ji, jn;
+	job_t ji, jn;
 
 	if (j == nj)
 		return;
 
 	SLIST_FOREACH_SAFE(ji, &j->jobs, sle, jn) {
-		vproc_dispatch_all_other_semaphores(ji, nj);
+		job_dispatch_all_other_semaphores(ji, nj);
 	}
 
 	if (!SLIST_EMPTY(&j->semaphores)) {
-		vproc_dispatch(j, false);
+		job_dispatch(j, false);
 	}
 }
 

Modified: trunk/launchd/src/launchd_core_logic.h
===================================================================
--- trunk/launchd/src/launchd_core_logic.h	2006-09-06 17:22:43 UTC (rev 22840)
+++ trunk/launchd/src/launchd_core_logic.h	2006-09-06 18:12:47 UTC (rev 22841)
@@ -24,64 +24,64 @@
 
 #include "bootstrap_public.h"
 
-#define vproc_assumes(j, e)      \
-	        (__builtin_expect(!(e), 0) ? vproc_log_bug(j, __rcs_file_version__, __FILE__, __LINE__, #e), false : true)
+#define job_assumes(j, e)      \
+	        (__builtin_expect(!(e), 0) ? job_log_bug(j, __rcs_file_version__, __FILE__, __LINE__, #e), false : true)
 
 
-typedef struct vproc_s *vproc_t;
+typedef struct job_s *job_t;
 struct machservice;
 
 
-struct machservice *machservice_new(vproc_t j, const char *name, mach_port_t *serviceport);
+struct machservice *machservice_new(job_t j, const char *name, mach_port_t *serviceport);
 void machservice_delete(struct machservice *);
 void machservice_watch(struct machservice *);
 mach_port_t machservice_port(struct machservice *);
-vproc_t machservice_job(struct machservice *);
+job_t machservice_job(struct machservice *);
 bool machservice_hidden(struct machservice *);
 bool machservice_active(struct machservice *);
 const char *machservice_name(struct machservice *);
 bootstrap_status_t machservice_status(struct machservice *);
 
 
-vproc_t vproc_find(vproc_t j, const char *label);
-vproc_t vproc_find_by_pid(vproc_t j, pid_t p);
-vproc_t vproc_find_by_port(mach_port_t mp);
-vproc_t vproc_import(launch_data_t pload);
-launch_data_t vproc_import_bulk(launch_data_t pload);
-vproc_t vproc_new(vproc_t p, const char *label, const char *prog, const char *const *argv, const char *stdinpath, mach_port_t);
-vproc_t vproc_new_spawn(const char *label, const char *path, const char *workingdir, const char *const *argv, const char *const *env, mode_t *u_mask, bool w4d, bool fppc);
-vproc_t vproc_new_via_mach_init(vproc_t jbs, const char *cmd, uid_t uid, bool ond);
-vproc_t vproc_new_bootstrap(vproc_t p, mach_port_t requestorport, mach_port_t checkin_port);
-launch_data_t vproc_export(vproc_t j);
-launch_data_t vproc_export_all(void);
-void vproc_dispatch(vproc_t j, bool kickstart);
-void vproc_dispatch_all_other_semaphores(vproc_t j, vproc_t nj);
-void vproc_stop(vproc_t j);
-bool vproc_active(vproc_t j);
-void vproc_checkin(vproc_t j);
-const char *vproc_prog(vproc_t j);
-void vproc_remove(vproc_t j);
-void vproc_remove_all_inactive(vproc_t j);
-bool vproc_ack_port_destruction(vproc_t j, mach_port_t p);
-void vproc_ack_no_senders(vproc_t j);
-pid_t vproc_get_pid(vproc_t j);
-mach_port_t vproc_get_bsport(vproc_t j);
-mach_port_t vproc_get_reqport(vproc_t j);
-vproc_t vproc_get_bs(vproc_t j);
-void vproc_delete_anything_with_port(vproc_t jbs, mach_port_t port);
-vproc_t vproc_parent(vproc_t j);
-void vproc_uncork_fork(vproc_t j);
-struct machservice *vproc_lookup_service(vproc_t jbs, const char *name, bool check_parent);
-void vproc_foreach_service(vproc_t jbs, void (*bs_iter)(struct machservice *, void *), void *context, bool include_subjobs);
-void vproc_log(vproc_t j, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4)));
-void vproc_log_error(vproc_t j, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4)));
-void vproc_log_bug(vproc_t j, const char *rcs_rev, const char *path, unsigned int line, const char *test);
-kern_return_t vproc_handle_mpm_wait(vproc_t j, mach_port_t srp, int *waitstatus);
+job_t job_find(job_t j, const char *label);
+job_t job_find_by_pid(job_t j, pid_t p);
+job_t job_find_by_port(mach_port_t mp);
+job_t job_import(launch_data_t pload);
+launch_data_t job_import_bulk(launch_data_t pload);
+job_t job_new(job_t p, const char *label, const char *prog, const char *const *argv, const char *stdinpath, mach_port_t);
+job_t job_new_spawn(const char *label, const char *path, const char *workingdir, const char *const *argv, const char *const *env, mode_t *u_mask, bool w4d, bool fppc);
+job_t job_new_via_mach_init(job_t jbs, const char *cmd, uid_t uid, bool ond);
+job_t job_new_bootstrap(job_t p, mach_port_t requestorport, mach_port_t checkin_port);
+launch_data_t job_export(job_t j);
+launch_data_t job_export_all(void);
+void job_dispatch(job_t j, bool kickstart);
+void job_dispatch_all_other_semaphores(job_t j, job_t nj);
+void job_stop(job_t j);
+bool job_active(job_t j);
+void job_checkin(job_t j);
+const char *job_prog(job_t j);
+void job_remove(job_t j);
+void job_remove_all_inactive(job_t j);
+bool job_ack_port_destruction(job_t j, mach_port_t p);
+void job_ack_no_senders(job_t j);
+pid_t job_get_pid(job_t j);
+mach_port_t job_get_bsport(job_t j);
+mach_port_t job_get_reqport(job_t j);
+job_t job_get_bs(job_t j);
+void job_delete_anything_with_port(job_t jbs, mach_port_t port);
+job_t job_parent(job_t j);
+void job_uncork_fork(job_t j);
+struct machservice *job_lookup_service(job_t jbs, const char *name, bool check_parent);
+void job_foreach_service(job_t jbs, void (*bs_iter)(struct machservice *, void *), void *context, bool include_subjobs);
+void job_log(job_t j, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4)));
+void job_log_error(job_t j, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4)));
+void job_log_bug(job_t j, const char *rcs_rev, const char *path, unsigned int line, const char *test);
+kern_return_t job_handle_mpm_wait(job_t j, mach_port_t srp, int *waitstatus);
 
 extern size_t total_children;
 
-extern vproc_t root_job;
+extern job_t root_job;
 
-extern vproc_t gc_this_job;
+extern job_t gc_this_job;
 
 #endif

Modified: trunk/launchd/src/launchd_mach_ipc.c
===================================================================
--- trunk/launchd/src/launchd_mach_ipc.c	2006-09-06 17:22:43 UTC (rev 22840)
+++ trunk/launchd/src/launchd_mach_ipc.c	2006-09-06 18:12:47 UTC (rev 22841)
@@ -88,10 +88,10 @@
 static void **port_to_obj = NULL;
 static pthread_t demand_thread;
 
-static bool trusted_client_check(vproc_t j, struct ldcred *ldc);
+static bool trusted_client_check(job_t j, struct ldcred *ldc);
 
-vproc_t 
-vproc_find_by_port(mach_port_t mp)
+job_t 
+job_find_by_port(mach_port_t mp)
 {
 	return port_to_obj[MACH_PORT_INDEX(mp)];
 }
@@ -116,7 +116,7 @@
 			continue;
 
 		if (status.mps_msgcount) {
-			EV_SET(&kev, members[i], EVFILT_MACHPORT, 0, 0, 0, vproc_find_by_port(members[i]));
+			EV_SET(&kev, members[i], EVFILT_MACHPORT, 0, 0, 0, job_find_by_port(members[i]));
 			(*((kq_callback *)kev.udata))(kev.udata, &kev);
 			/* the callback may have tainted our ability to continue this for loop */
 			break;
@@ -142,7 +142,7 @@
 
 	init_ports();
 
-	launchd_assert((root_job = vproc_new_bootstrap(NULL, req_port ? req_port : mach_task_self(), checkin_port)) != NULL);
+	launchd_assert((root_job = job_new_bootstrap(NULL, req_port ? req_port : mach_task_self(), checkin_port)) != NULL);
 
 	launchd_assumes(launchd_get_bport(&inherited_bootstrap_port) == KERN_SUCCESS);
 
@@ -330,19 +330,19 @@
 x_bootstrap_create_server(mach_port_t bp, cmd_t server_cmd, uid_t server_uid, boolean_t on_demand,
 		audit_token_t au_tok, mach_port_t *server_portp)
 {
-	vproc_t js, j = vproc_find_by_port(bp);
+	job_t js, j = job_find_by_port(bp);
 	struct ldcred ldc;
 
 	audit_token_to_launchd_cred(au_tok, &ldc);
 
-	vproc_log(j, LOG_DEBUG, "Server create attempt: %s", server_cmd);
+	job_log(j, LOG_DEBUG, "Server create attempt: %s", server_cmd);
 
 #define LET_MERE_MORTALS_ADD_SERVERS_TO_PID1
 	/* XXX - This code should go away once the per session launchd is integrated with the rest of the system */
 	#ifdef LET_MERE_MORTALS_ADD_SERVERS_TO_PID1
 	if (getpid() == 1) {
 		if (ldc.euid != 0 && ldc.euid != server_uid) {
-			vproc_log(j, LOG_WARNING, "Server create: \"%s\": Will run as UID %d, not UID %d as they told us to",
+			job_log(j, LOG_WARNING, "Server create: \"%s\": Will run as UID %d, not UID %d as they told us to",
 					server_cmd, ldc.euid, server_uid);
 			server_uid = ldc.euid;
 		}
@@ -351,17 +351,17 @@
 	if (!trusted_client_check(j, &ldc)) {
 		return BOOTSTRAP_NOT_PRIVILEGED;
 	} else if (server_uid != getuid()) {
-		vproc_log(j, LOG_WARNING, "Server create: \"%s\": As UID %d, we will not be able to switch to UID %d",
+		job_log(j, LOG_WARNING, "Server create: \"%s\": As UID %d, we will not be able to switch to UID %d",
 				server_cmd, getuid(), server_uid);
 		server_uid = getuid();
 	}
 
-	js = vproc_new_via_mach_init(j, server_cmd, server_uid, on_demand);
+	js = job_new_via_mach_init(j, server_cmd, server_uid, on_demand);
 
 	if (js == NULL)
 		return BOOTSTRAP_NO_MEMORY;
 
-	*server_portp = vproc_get_bsport(js);
+	*server_portp = job_get_bsport(js);
 	return BOOTSTRAP_SUCCESS;
 }
 
@@ -382,13 +382,13 @@
 kern_return_t
 x_bootstrap_unprivileged(mach_port_t bp, mach_port_t *unprivportp)
 {
-	vproc_t j = vproc_find_by_port(bp);
+	job_t j = job_find_by_port(bp);
 
-	vproc_log(j, LOG_DEBUG, "Requested unprivileged bootstrap port");
+	job_log(j, LOG_DEBUG, "Requested unprivileged bootstrap port");
 
-	j = vproc_get_bs(j);
+	j = job_get_bs(j);
 
-	*unprivportp = vproc_get_bsport(j);
+	*unprivportp = job_get_bsport(j);
 
 	return BOOTSTRAP_SUCCESS;
 }
@@ -398,7 +398,7 @@
 x_bootstrap_check_in(mach_port_t bp, name_t servicename, audit_token_t au_tok, mach_port_t *serviceportp)
 {
 	static pid_t last_warned_pid = 0;
-	vproc_t j = vproc_find_by_port(bp);
+	job_t j = job_find_by_port(bp);
 	struct machservice *ms;
 	struct ldcred ldc;
 
@@ -406,15 +406,15 @@
 
 	trusted_client_check(j, &ldc);
 
-	ms = vproc_lookup_service(j, servicename, true);
+	ms = job_lookup_service(j, servicename, true);
 
 	if (ms == NULL) {
-		vproc_log(j, LOG_DEBUG, "Check-in of Mach service failed. Unknown: %s", servicename);
+		job_log(j, LOG_DEBUG, "Check-in of Mach service failed. Unknown: %s", servicename);
 		return BOOTSTRAP_UNKNOWN_SERVICE;
 	}
 	if (machservice_job(ms) != j) {
 		if (last_warned_pid != ldc.pid) {
-			vproc_log(j, LOG_NOTICE, "Check-in of Mach service failed. PID %d is not privileged: %s",
+			job_log(j, LOG_NOTICE, "Check-in of Mach service failed. PID %d is not privileged: %s",
 					ldc.pid, servicename);
 			last_warned_pid = ldc.pid;
 		}
@@ -422,13 +422,13 @@
 	}
 	if (!canReceive(machservice_port(ms))) {
 		launchd_assumes(machservice_active(ms));
-		vproc_log(j, LOG_DEBUG, "Check-in of Mach service failed. Already active: %s", servicename);
+		job_log(j, LOG_DEBUG, "Check-in of Mach service failed. Already active: %s", servicename);
 		return BOOTSTRAP_SERVICE_ACTIVE;
 	}
 
 	machservice_watch(ms);
 
-	vproc_log(j, LOG_INFO, "Check-in of service: %s", servicename);
+	job_log(j, LOG_INFO, "Check-in of service: %s", servicename);
 
 	*serviceportp = machservice_port(ms);
 	return BOOTSTRAP_SUCCESS;
@@ -437,7 +437,7 @@
 kern_return_t
 x_bootstrap_register(mach_port_t bp, audit_token_t au_tok, name_t servicename, mach_port_t serviceport)
 {
-	vproc_t j = vproc_find_by_port(bp);
+	job_t j = job_find_by_port(bp);
 	struct machservice *ms;
 	struct ldcred ldc;
 
@@ -445,24 +445,24 @@
 
 	trusted_client_check(j, &ldc);
 
-	vproc_log(j, LOG_DEBUG, "Mach service registration attempt: %s", servicename);
+	job_log(j, LOG_DEBUG, "Mach service registration attempt: %s", servicename);
 	
-	ms = vproc_lookup_service(j, servicename, false);
+	ms = job_lookup_service(j, servicename, false);
 
 	if (ms) {
 		if (machservice_job(ms) != j)
 			return BOOTSTRAP_NOT_PRIVILEGED;
 		if (machservice_active(ms)) {
-			vproc_log(j, LOG_DEBUG, "Mach service registration failed. Already active: %s", servicename);
+			job_log(j, LOG_DEBUG, "Mach service registration failed. Already active: %s", servicename);
 			launchd_assumes(!canReceive(machservice_port(ms)));
 			return BOOTSTRAP_SERVICE_ACTIVE;
 		}
-		vproc_checkin(machservice_job(ms));
+		job_checkin(machservice_job(ms));
 		machservice_delete(ms);
 	}
 
 	if (serviceport != MACH_PORT_NULL) {
-		if ((ms = machservice_new(vproc_get_bs(j), servicename, &serviceport))) {
+		if ((ms = machservice_new(job_get_bs(j), servicename, &serviceport))) {
 			machservice_watch(ms);
 		} else {
 			return BOOTSTRAP_NO_MEMORY;
@@ -475,7 +475,7 @@
 kern_return_t
 x_bootstrap_look_up(mach_port_t bp, audit_token_t au_tok, name_t servicename, mach_port_t *serviceportp, mach_msg_type_name_t *ptype)
 {
-	vproc_t j = vproc_find_by_port(bp);
+	job_t j = job_find_by_port(bp);
 	struct machservice *ms;
 	struct ldcred ldc;
 
@@ -483,24 +483,24 @@
 
 	trusted_client_check(j, &ldc);
 
-	ms = vproc_lookup_service(j, servicename, true);
+	ms = job_lookup_service(j, servicename, true);
 
-	if (ms && machservice_hidden(ms) && !vproc_active(machservice_job(ms))) {
+	if (ms && machservice_hidden(ms) && !job_active(machservice_job(ms))) {
 		ms = NULL;
 	}
 
 	if (ms) {
 		launchd_assumes(machservice_port(ms) != MACH_PORT_NULL);
-		vproc_log(j, LOG_DEBUG, "Mach service lookup (by PID %d): %s", ldc.pid, servicename);
+		job_log(j, LOG_DEBUG, "Mach service lookup (by PID %d): %s", ldc.pid, servicename);
 		*serviceportp = machservice_port(ms);
 		*ptype = MACH_MSG_TYPE_COPY_SEND;
 		return BOOTSTRAP_SUCCESS;
 	} else if (inherited_bootstrap_port != MACH_PORT_NULL) {
-		vproc_log(j, LOG_DEBUG, "Mach service lookup (by PID %d) forwarded: %s", ldc.pid, servicename);
+		job_log(j, LOG_DEBUG, "Mach service lookup (by PID %d) forwarded: %s", ldc.pid, servicename);
 		*ptype = MACH_MSG_TYPE_MOVE_SEND;
 		return bootstrap_look_up(inherited_bootstrap_port, servicename, serviceportp);
 	} else {
-		vproc_log(j, LOG_DEBUG, "Mach service lookup (by PID %d) failed: %s", ldc.pid, servicename);
+		job_log(j, LOG_DEBUG, "Mach service lookup (by PID %d) failed: %s", ldc.pid, servicename);
 		return BOOTSTRAP_UNKNOWN_SERVICE;
 	}
 }
@@ -508,18 +508,18 @@
 kern_return_t
 x_bootstrap_parent(mach_port_t bp, mach_port_t *parentport, mach_msg_type_name_t *pptype)
 {
-	vproc_t j = vproc_find_by_port(bp);
+	job_t j = job_find_by_port(bp);
 
-	vproc_log(j, LOG_DEBUG, "Requested parent bootstrap port");
+	job_log(j, LOG_DEBUG, "Requested parent bootstrap port");
 
-	j = vproc_get_bs(j);
+	j = job_get_bs(j);
 
 	*pptype = MACH_MSG_TYPE_MAKE_SEND;
 
-	if (vproc_parent(j)) {
-		*parentport = vproc_get_bsport(vproc_parent(j));
+	if (job_parent(j)) {
+		*parentport = job_get_bsport(job_parent(j));
 	} else if (MACH_PORT_NULL == inherited_bootstrap_port) {
-		*parentport = vproc_get_bsport(j);
+		*parentport = job_get_bsport(j);
 	} else {
 		*pptype = MACH_MSG_TYPE_COPY_SEND;
 		*parentport = inherited_bootstrap_port;
@@ -564,12 +564,12 @@
 		bootstrap_status_array_t *serviceactivesp, unsigned int *serviceactives_cnt)
 {
 	struct x_bootstrap_info_copyservices_cb info_resp = { NULL, NULL, NULL, 0 };
-	vproc_t ji, j = vproc_find_by_port(bp);
+	job_t ji, j = job_find_by_port(bp);
 	kern_return_t result;
 	unsigned int cnt = 0;
 
-	for (ji = j; ji; ji = vproc_parent(ji))
-		vproc_foreach_service(ji, x_bootstrap_info_countservices, &cnt, true);
+	for (ji = j; ji; ji = job_parent(ji))
+		job_foreach_service(ji, x_bootstrap_info_countservices, &cnt, true);
 
 	result = vm_allocate(mach_task_self(), (vm_address_t *)&info_resp.service_names, cnt * sizeof(info_resp.service_names[0]), true);
 	if (!launchd_assumes(result == KERN_SUCCESS))
@@ -579,8 +579,8 @@
 	if (!launchd_assumes(result == KERN_SUCCESS))
 		goto out_bad;
 
-	for (ji = j; ji; ji = vproc_parent(ji))
-		vproc_foreach_service(ji, x_bootstrap_info_copyservices, &info_resp, true);
+	for (ji = j; ji; ji = job_parent(ji))
+		job_foreach_service(ji, x_bootstrap_info_copyservices, &info_resp, true);
 
 	launchd_assumes(info_resp.i == cnt);
 
@@ -603,21 +603,21 @@
 	mach_port_array_t *ports, unsigned int *ports_cnt)
 {
 	struct x_bootstrap_info_copyservices_cb info_resp = { NULL, NULL, NULL, 0 };
-	vproc_t j = vproc_find_by_port(bp);
+	job_t j = job_find_by_port(bp);
 	unsigned int cnt = 0;
 	kern_return_t result;
 
 	if (getpid() != 1) {
-		vproc_log(j, LOG_ERR, "Only the system launchd will transfer Mach sub-bootstraps.");
+		job_log(j, LOG_ERR, "Only the system launchd will transfer Mach sub-bootstraps.");
 		return BOOTSTRAP_NOT_PRIVILEGED;
-	} else if (!vproc_parent(j)) {
-		vproc_log(j, LOG_ERR, "Root Mach bootstrap cannot be transferred.");
+	} else if (!job_parent(j)) {
+		job_log(j, LOG_ERR, "Root Mach bootstrap cannot be transferred.");
 		return BOOTSTRAP_NOT_PRIVILEGED;
 	}
 
-	vproc_log(j, LOG_DEBUG, "Transferring sub-bootstrap to the per session launchd.");
+	job_log(j, LOG_DEBUG, "Transferring sub-bootstrap to the per session launchd.");
 
-	vproc_foreach_service(j, x_bootstrap_info_countservices, &cnt, false);
+	job_foreach_service(j, x_bootstrap_info_countservices, &cnt, false);
 
 	result = vm_allocate(mach_task_self(), (vm_address_t *)&info_resp.service_names, cnt * sizeof(info_resp.service_names[0]), true);
 	if (!launchd_assumes(result == KERN_SUCCESS))
@@ -627,7 +627,7 @@
 	if (!launchd_assumes(result == KERN_SUCCESS))
 		goto out_bad;
 
-	vproc_foreach_service(j, x_bootstrap_info_copyservices, &info_resp, false);
+	job_foreach_service(j, x_bootstrap_info_copyservices, &info_resp, false);
 
 	launchd_assumes(info_resp.i == cnt);
 
@@ -635,8 +635,8 @@
 	*ports = info_resp.ports;
 	*servicenames_cnt = *ports_cnt = cnt;
 
-	*reqport = vproc_get_reqport(j);
-	*rcvright = vproc_get_bsport(j);
+	*reqport = job_get_reqport(j);
+	*rcvright = job_get_bsport(j);
 
 	launchd_assumes(launchd_mport_request_callback(*rcvright, NULL, true) == KERN_SUCCESS);
 
@@ -654,48 +654,48 @@
 kern_return_t
 x_bootstrap_subset(mach_port_t bp, mach_port_t requestorport, mach_port_t *subsetportp)
 {
-	vproc_t js, j = vproc_find_by_port(bp);
+	job_t js, j = job_find_by_port(bp);
 	int bsdepth = 0;
 
-	while ((j = vproc_parent(j)) != NULL)
+	while ((j = job_parent(j)) != NULL)
 		bsdepth++;
 
-	j = vproc_find_by_port(bp);
+	j = job_find_by_port(bp);
 
 	/* Since we use recursion, we need an artificial depth for subsets */
 	if (bsdepth > 100) {
-		vproc_log(j, LOG_ERR, "Mach sub-bootstrap create request failed. Depth greater than: %d", bsdepth);
+		job_log(j, LOG_ERR, "Mach sub-bootstrap create request failed. Depth greater than: %d", bsdepth);
 		return BOOTSTRAP_NO_MEMORY;
 	}
 
-	if ((js = vproc_new_bootstrap(j, requestorport, MACH_PORT_NULL)) == NULL) {
+	if ((js = job_new_bootstrap(j, requestorport, MACH_PORT_NULL)) == NULL) {
 		if (requestorport == MACH_PORT_NULL)
 			return BOOTSTRAP_NOT_PRIVILEGED;
 		return BOOTSTRAP_NO_MEMORY;
 	}
 
-	*subsetportp = vproc_get_bsport(js);
+	*subsetportp = job_get_bsport(js);
 	return BOOTSTRAP_SUCCESS;
 }
 
 kern_return_t
 x_bootstrap_create_service(mach_port_t bp, name_t servicename, mach_port_t *serviceportp)
 {
-	vproc_t j = vproc_find_by_port(bp);
+	job_t j = job_find_by_port(bp);
 	struct machservice *ms;
 
-	if (vproc_prog(j)[0] == '\0') {
-		vproc_log(j, LOG_ERR, "Mach service creation requires a target server: %s", servicename);
+	if (job_prog(j)[0] == '\0') {
+		job_log(j, LOG_ERR, "Mach service creation requires a target server: %s", servicename);
 		return BOOTSTRAP_NOT_PRIVILEGED;
 	}
 
-	ms = vproc_lookup_service(j, servicename, false);
+	ms = job_lookup_service(j, servicename, false);
 	if (ms) {
-		vproc_log(j, LOG_DEBUG, "Mach service creation attempt for failed. Already exists: %s", servicename);
+		job_log(j, LOG_DEBUG, "Mach service creation attempt for failed. Already exists: %s", servicename);
 		return BOOTSTRAP_NAME_IN_USE;
 	}
 
-	vproc_checkin(j);
+	job_checkin(j);
 
 	*serviceportp = MACH_PORT_NULL;
 	ms = machservice_new(j, servicename, serviceportp);
@@ -713,23 +713,23 @@
 kern_return_t
 x_mpm_wait(mach_port_t bp, mach_port_t srp, audit_token_t au_tok, integer_t *waitstatus)
 {
-	vproc_t j = vproc_find_by_port(bp);
+	job_t j = job_find_by_port(bp);
 #if 0
 	struct ldcred ldc;
 	audit_token_to_launchd_cred(au_tok, &ldc);
 #endif
-	return vproc_handle_mpm_wait(j, srp, waitstatus);
+	return job_handle_mpm_wait(j, srp, waitstatus);
 }
 
 kern_return_t
 x_mpm_uncork_fork(mach_port_t bp, audit_token_t au_tok)
 {
-	vproc_t j = vproc_find_by_port(bp);
+	job_t j = job_find_by_port(bp);
 
 	if (!j)
 		return BOOTSTRAP_NOT_PRIVILEGED;
 
-	vproc_uncork_fork(j);
+	job_uncork_fork(j);
 
 	return 0;
 }
@@ -740,7 +740,7 @@
 		uint32_t argc, uint32_t envc, uint64_t flags, uint16_t mig_umask,
 		pid_t *child_pid, mach_port_t *obsvr_port)
 {
-	vproc_t jr, j = vproc_find_by_port(bp);
+	job_t jr, j = job_find_by_port(bp);
 	struct ldcred ldc;
 	size_t offset = 0;
 	char *tmpp;
@@ -754,7 +754,7 @@
 
 #if 0
 	if (ldc.asid != inherited_asid) {
-		vproc_log(j, LOG_ERR, "Security: PID %d (ASID %d) was denied a request to spawn a process in this session (ASID %d)",
+		job_log(j, LOG_ERR, "Security: PID %d (ASID %d) was denied a request to spawn a process in this session (ASID %d)",
 				ldc.pid, ldc.asid, inherited_asid);
 		return BOOTSTRAP_NOT_PRIVILEGED;
 	}
@@ -790,7 +790,7 @@
 		}
 	}
 
-	jr = vproc_new_spawn(label, path, workingdir, argv, env, flags & SPAWN_HAS_UMASK ? &mig_umask : NULL,
+	jr = job_new_spawn(label, path, workingdir, argv, env, flags & SPAWN_HAS_UMASK ? &mig_umask : NULL,
 			flags & SPAWN_WANTS_WAIT4DEBUGGER, flags & SPAWN_WANTS_FORCE_PPC);
 
 	if (jr == NULL) switch (errno) {
@@ -800,12 +800,12 @@
 		return BOOTSTRAP_NO_MEMORY;
 	}
 
-	vproc_log(j, LOG_INFO, "Spawned with flags:%s%s",
+	job_log(j, LOG_INFO, "Spawned with flags:%s%s",
 			flags & SPAWN_WANTS_FORCE_PPC ? " ppc": "",
 			flags & SPAWN_WANTS_WAIT4DEBUGGER ? " stopped": "");
 
-	*child_pid = vproc_get_pid(jr);
-	*obsvr_port = vproc_get_bsport(jr);
+	*child_pid = job_get_pid(jr);
+	*obsvr_port = job_get_bsport(jr);
 
 	return BOOTSTRAP_SUCCESS;
 }
@@ -815,7 +815,7 @@
 {
 	/* This message is sent to us when a receive right is returned to us. */
 
-	if (!vproc_ack_port_destruction(root_job, rights)) {
+	if (!job_ack_port_destruction(root_job, rights)) {
 		launchd_assumes(launchd_mport_close_recv(rights) == KERN_SUCCESS);
 	}
 
@@ -837,7 +837,7 @@
 kern_return_t
 do_mach_notify_no_senders(mach_port_t notify, mach_port_mscount_t mscount)
 {
-	vproc_t j = vproc_find_by_port(notify);
+	job_t j = job_find_by_port(notify);
 
 	/* This message is sent to us when the last customer of one of our objects
 	 * goes away.
@@ -846,7 +846,7 @@
 	if (!launchd_assumes(j != NULL))
 		return KERN_FAILURE;
 
-	vproc_ack_no_senders(j);
+	job_ack_no_senders(j);
 
 	return KERN_SUCCESS;
 }
@@ -874,7 +874,7 @@
 		inherited_bootstrap_port = MACH_PORT_NULL;
 	}
 		
-	vproc_delete_anything_with_port(root_job, name);
+	job_delete_anything_with_port(root_job, name);
 
 	/* A dead-name notification about a port appears to increment the
 	 * rights on said port. Let's deallocate it so that we don't leak
@@ -886,7 +886,7 @@
 }
 
 bool
-trusted_client_check(vproc_t j, struct ldcred *ldc)
+trusted_client_check(job_t j, struct ldcred *ldc)
 {
 	static pid_t last_warned_pid = 0;
 
@@ -908,7 +908,7 @@
 	if (last_warned_pid == ldc->pid)
 		return false;
 
-	vproc_log(j, LOG_NOTICE, "Security: PID %d (ASID %d) was leaked into this session (ASID %d). This will be denied in the future.", ldc->pid, ldc->asid, inherited_asid);
+	job_log(j, LOG_NOTICE, "Security: PID %d (ASID %d) was leaked into this session (ASID %d). This will be denied in the future.", ldc->pid, ldc->asid, inherited_asid);
 
 	last_warned_pid = ldc->pid;
 

Modified: trunk/launchd/src/launchd_unix_ipc.c
===================================================================
--- trunk/launchd/src/launchd_unix_ipc.c	2006-09-06 17:22:43 UTC (rev 22840)
+++ trunk/launchd/src/launchd_unix_ipc.c	2006-09-06 18:12:47 UTC (rev 22841)
@@ -181,7 +181,7 @@
 }
 
 void
-ipc_open(int fd, vproc_t j)
+ipc_open(int fd, job_t j)
 {
 	struct conncb *c = calloc(1, sizeof(struct conncb));
 
@@ -324,7 +324,7 @@
 {
 	struct readmsg_context *rmc = context;
 	launch_data_t resp = NULL;
-	vproc_t j;
+	job_t j;
 
 	if (rmc->resp)
 		return;
@@ -332,8 +332,8 @@
 	if (data == NULL) {
 		if (!strcmp(cmd, LAUNCH_KEY_CHECKIN)) {
 			if (rmc->c->j) {
-				resp = vproc_export(rmc->c->j);
-				vproc_checkin(rmc->c->j);
+				resp = job_export(rmc->c->j);
+				job_checkin(rmc->c->j);
 			} else {
 				resp = launch_data_new_errno(EACCES);
 			}
@@ -347,7 +347,7 @@
 			launchd_single_user();
 			resp = launch_data_new_errno(0);
 		} else if (!strcmp(cmd, LAUNCH_KEY_GETJOBS)) {
-			resp = vproc_export_all();
+			resp = job_export_all();
 			ipc_revoke_fds(resp);
 		} else if (!strcmp(cmd, LAUNCH_KEY_GETRESOURCELIMITS)) {
 			resp = adjust_rlimits(NULL);
@@ -383,28 +383,28 @@
 			launch_data_set_bool(resp, batch_disabler_count == 0);
 		}
 	} else if (!strcmp(cmd, LAUNCH_KEY_STARTJOB)) {
-		if ((j = vproc_find(root_job, launch_data_get_string(data))) != NULL) {
-			vproc_dispatch(j, true);
+		if ((j = job_find(root_job, launch_data_get_string(data))) != NULL) {
+			job_dispatch(j, true);
 			errno = 0;
 		}
 		resp = launch_data_new_errno(errno);
 	} else if (!strcmp(cmd, LAUNCH_KEY_STOPJOB)) {
-		if ((j = vproc_find(root_job, launch_data_get_string(data))) != NULL) {
-			vproc_stop(j);
+		if ((j = job_find(root_job, launch_data_get_string(data))) != NULL) {
+			job_stop(j);
 			errno = 0;
 		}
 		resp = launch_data_new_errno(errno);
 	} else if (!strcmp(cmd, LAUNCH_KEY_REMOVEJOB)) {
-		if ((j = vproc_find(root_job, launch_data_get_string(data))) != NULL) {
-			vproc_remove(j);
+		if ((j = job_find(root_job, launch_data_get_string(data))) != NULL) {
+			job_remove(j);
 			errno = 0;
 		}
 		resp = launch_data_new_errno(errno);
 	} else if (!strcmp(cmd, LAUNCH_KEY_SUBMITJOB)) {
 		if (launch_data_get_type(data) == LAUNCH_DATA_ARRAY) {
-			resp = vproc_import_bulk(data);
+			resp = job_import_bulk(data);
 		} else {
-			if (vproc_import(data))
+			if (job_import(data))
 				errno = 0;
 			resp = launch_data_new_errno(errno);
 		}
@@ -417,17 +417,17 @@
 	} else if (!strcmp(cmd, LAUNCH_KEY_SETRESOURCELIMITS)) {
 		resp = adjust_rlimits(data);
 	} else if (!strcmp(cmd, LAUNCH_KEY_GETJOB)) {
-		if ((j = vproc_find(root_job, launch_data_get_string(data))) == NULL) {
+		if ((j = job_find(root_job, launch_data_get_string(data))) == NULL) {
 			resp = launch_data_new_errno(errno);
 		} else {
-			resp = vproc_export(j);
+			resp = job_export(j);
 			ipc_revoke_fds(resp);
 		}
 	} else if (!strcmp(cmd, LAUNCH_KEY_GETJOBWITHHANDLES)) {
-		if ((j = vproc_find(root_job, launch_data_get_string(data))) == NULL) {
+		if ((j = job_find(root_job, launch_data_get_string(data))) == NULL) {
 			resp = launch_data_new_errno(errno);
 		} else {
-			resp = vproc_export(j);
+			resp = job_export(j);
 		}
 	} else if (!strcmp(cmd, LAUNCH_KEY_SETLOGMASK)) {
 		resp = launch_data_new_integer(setlogmask(launch_data_get_integer(data)));
@@ -438,7 +438,7 @@
 	} else if (!strcmp(cmd, LAUNCH_KEY_SETSTDERR)) {
 		resp = launchd_setstdio(STDERR_FILENO, data);
 	} else if (!strcmp(cmd, LAUNCH_KEY_BATCHCONTROL)) {
-		batch_vproc_enable(launch_data_get_bool(data), rmc->c);
+		batch_job_enable(launch_data_get_bool(data), rmc->c);
 		resp = launch_data_new_errno(0);
 	}
 
@@ -448,7 +448,7 @@
 void
 ipc_close(struct conncb *c)
 {
-	batch_vproc_enable(true, c);
+	batch_job_enable(true, c);
 
 	SLIST_REMOVE(&connections, c, conncb, sle);
 	launchd_close(c->conn);

Modified: trunk/launchd/src/launchd_unix_ipc.h
===================================================================
--- trunk/launchd/src/launchd_unix_ipc.h	2006-09-06 17:22:43 UTC (rev 22840)
+++ trunk/launchd/src/launchd_unix_ipc.h	2006-09-06 18:12:47 UTC (rev 22841)
@@ -24,13 +24,13 @@
 	kq_callback kqconn_callback;
 	SLIST_ENTRY(conncb) sle;
 	launch_t conn;
-	vproc_t j;
+	job_t j;
 	int disabled_batch:1, futureflags:31;
 };
 
 extern char *sockpath;
 
-void ipc_open(int fd, vproc_t j);
+void ipc_open(int fd, job_t j);
 void ipc_close(struct conncb *c);
 void ipc_callback(void *, struct kevent *);
 void ipc_readmsg(launch_data_t msg, void *context);

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20060906/b9bb08f5/attachment.html


More information about the launchd-changes mailing list