コード例 #1
0
int
boot_script_task_create (struct cmd *cmd)
{
  kern_return_t rc = task_create(TASK_NULL, FALSE, &cmd->task);
  if (rc)
    {
      printf("boot_script_task_create failed with %x\n", rc);
      return BOOT_SCRIPT_MACH_ERROR;
    }
  task_set_name(cmd->task, cmd->path);
  return 0;
}
コード例 #2
0
ファイル: task.c プロジェクト: bjornaugestad/highlander
status_t task_init(task p, const char *name, int instance, taskfn fn, tid_t tid)
{
    assert(p != NULL);
    assert(name != NULL);
    assert(fn != 0);

    p->threadid = 0;
    task_set_tid(p, tid);
    task_set_fn(p, fn);
    task_set_name(p, name);
    task_set_instance(p, instance);

    return success;
}
コード例 #3
0
ファイル: main.c プロジェクト: fhector/helenOS-0.5-Hector
/** Run the previously loaded program.
 *
 * @param rid
 * @param request
 * @return 0 on success, !0 on error.
 */
static void ldr_run(ipc_callid_t rid, ipc_call_t *request)
{
	const char *cp;
	
	DPRINTF("Set task name\n");

	/* Set the task name. */
	cp = str_rchr(pathname, '/');
	cp = (cp == NULL) ? pathname : (cp + 1);
	task_set_name(cp);
	
	/* Run program */
	DPRINTF("Reply OK\n");
	async_answer_0(rid, EOK);
	DPRINTF("Jump to entry point at %p\n", pcb.entry);
	entry_point_jmp(prog_info.entry, &pcb);
	
	/* Not reached */
}