コード例 #1
0
ファイル: nameserv.c プロジェクト: A1ve5/slurm
extern int
name_unpublish_up(char *name)
{
	Buf buf = NULL, resp_buf = NULL;
	uint32_t size, tmp_32;
	int rc;

	buf = init_buf(1024);
	pack16((uint16_t)TREE_CMD_NAME_UNPUBLISH, buf);
	packstr(name, buf);
	size = get_buf_offset(buf);

	rc = tree_msg_to_srun_with_resp(size, get_buf_data(buf), &resp_buf);
	free_buf(buf);

	if (rc == SLURM_SUCCESS) {
		safe_unpack32(&tmp_32, resp_buf);
		rc = (int) tmp_32;
	}

unpack_error:
	if (resp_buf)
		free_buf(resp_buf);
	
	return rc;
}
コード例 #2
0
ファイル: spawn.c プロジェクト: corburn/slurm
extern int
spawn_req_send_to_srun(spawn_req_t *req, spawn_resp_t **resp_ptr)
{
	Buf req_buf = NULL, resp_buf = NULL;
	int rc;
	uint16_t cmd;

	req_buf = init_buf(2048);
	cmd = TREE_CMD_SPAWN;
	pack16(cmd, req_buf);
	spawn_req_pack(req, req_buf);
	rc = tree_msg_to_srun_with_resp(get_buf_offset(req_buf),
					get_buf_data(req_buf), &resp_buf);
	free_buf(req_buf);

	if (rc == SLURM_SUCCESS) {
		rc = spawn_resp_unpack(resp_ptr, resp_buf);
		free_buf(resp_buf);
	}
	return rc;
}
コード例 #3
0
ファイル: nameserv.c プロジェクト: A1ve5/slurm
extern char *
name_lookup_up(char *name)
{
	Buf buf = NULL, resp_buf = NULL;
	uint32_t size;
	char * port = NULL;
	int rc;

	buf = init_buf(1024);
	pack16((uint16_t)TREE_CMD_NAME_LOOKUP, buf);
	packstr(name, buf);
	size = get_buf_offset(buf);

	rc = tree_msg_to_srun_with_resp(size, get_buf_data(buf), &resp_buf);
	free_buf(buf);

	if (rc == SLURM_SUCCESS)
		safe_unpackstr_xmalloc(&port, (uint32_t *)&size, resp_buf);
unpack_error:
	if (resp_buf)
		free_buf(resp_buf);
	
	return port;
}