Example #1
0
File: msg.c Project: artpol84/slurm
static void _send_reply(int new_fd, char *msg)
{
	uint32_t data_sent, msg_size = 0;
	char header[10];

	if (msg)
		msg_size = strlen(msg) + 1;
	(void) sprintf(header, "%08u\n", msg_size);
	if (_write_bytes((int) new_fd, header, 9) != 9) {
		info("slurmctld/nonstop: failed to write message header %m");
		return;
	}

	data_sent = _write_bytes((int) new_fd, msg, msg_size);
	if (data_sent != msg_size) {
		info("slurmctld/nonstop: unable to write data message "
		      "(%u of %u) %m", data_sent, msg_size);
	}
}
Example #2
0
static size_t _send_msg(int fd, char *buf, size_t size)
{
	char header[10];
	size_t data_sent;

	(void) sprintf(header, "%08lu\n", (uint32_t) size);
	if (_write_bytes(fd, header, 9) != 9) {
		perror("writing message header");
		exit(1);
	}

	data_sent = _write_bytes(fd, buf, size);
	if (data_sent != size) {
		perror("writing message");
		exit(1);
	}

	return data_sent;
}
Example #3
0
File: msg.c Project: IFCA/slurm
/*****************************************************************************\
 * Send a message (response) to specified file descriptor
 *
 * RET - Number of data bytes written (excludes header)
\*****************************************************************************/
static size_t	_send_msg(slurm_fd_t new_fd, char *buf, size_t size)
{
	char header[10];
	size_t data_sent;

	if (slurm_get_debug_flags() & DEBUG_FLAG_WIKI)
		info("wiki msg send:%s", buf);

	(void) sprintf(header, "%08lu\n", (unsigned long) size);
	if (_write_bytes((int) new_fd, header, 9) != 9) {
		error("wiki: failed to write message header %m");
		return 0;
	}

	data_sent = _write_bytes((int) new_fd, buf, size);
	if (data_sent != size) {
		error("wiki: unable to write data message (%lu of %lu) %m",
			(long unsigned) data_sent, (long unsigned) size);
	}

	return data_sent;
}
Example #4
0
File: msg.c Project: diorsman/slurm
/*****************************************************************************\
 * Send a message (response) to specified file descriptor
 *
 * RET - Number of data bytes written (excludes header)
\*****************************************************************************/
static size_t	_send_msg(slurm_fd_t new_fd, char *buf, size_t size)
{
    size_t data_sent;

    info("dynalloc msg send:%s", buf);

    data_sent = _write_bytes((int) new_fd, buf, size);
    if (data_sent != size) {
        error("dynalloc: unable to write data message (%lu of %lu) %m",
              (long unsigned) data_sent, (long unsigned) size);
    }

    return data_sent;
}