当前位置: 首页>>代码示例>>C++>>正文


C++ check_errors函数代码示例

本文整理汇总了C++中check_errors函数的典型用法代码示例。如果您正苦于以下问题:C++ check_errors函数的具体用法?C++ check_errors怎么用?C++ check_errors使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了check_errors函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: set_tab

void		set_tab(char ***map, t_fdf *fdf)
{
	int		i;
	int		j;
	int		len;

	i = -1;
	if (fdf)
	{
		if (!fdf->tab)
			if (!(fdf->tab = (t_coord**)malloc(sizeof(t_coord*)
					* (fdf->tab_h))))
				check_errors(MALLOC, "fdf->tab", "set_tab.c");
		while (*(map + ++i))
		{
			if ((len = line_size(*(map + i))) > fdf->tab_w)
				fdf->tab_w = len;
			*(fdf->tab + i) = (t_coord*)malloc(sizeof(t_coord) * (len + 1));
			if (!(fdf->tab + i))
				check_errors(MALLOC, "fdf->tab + i", "set_tab.c");
			j = -1;
			while (*(*(map + i) + ++j))
				fill_coord(fdf, map[i][j], i, j);
			fdf->tab[i][j].end = 0;
		}
	}
}
开发者ID:elhmn,项目名称:fdf,代码行数:27,代码来源:set_tab.c

示例2: init

void init(int port)
{
    pool = ( memory_pool *) malloc(sizeof(memory_pool));
    init_pool(pool);
    logger_.log("Memory pool is ready");

    server_fd = resolve_name_and_bind(port);

    int return_code = listen (server_fd, MAXCONN);
    check_errors("listen", return_code);

    epoll_fd = epoll_create (1);
    check_errors("epoll_create", epoll_fd);

    modify_epoll_context(epoll_fd, EPOLL_CTL_ADD, server_fd, EPOLLIN, &server_fd);
    modify_epoll_context(epoll_fd, EPOLL_CTL_MOD, server_fd, EPOLLIN, &server_fd);
    events = (epoll_event *)calloc(MAXEVENTS, sizeof(epoll_event));

    struct sigaction action;
    memset(&action, 0, sizeof(action));
    sigemptyset(&action.sa_mask);
    action.sa_sigaction = &interrupt_handler;
    action.sa_flags = SA_SIGINFO;

    return_code = sigaction(SIGINT, &action, NULL);
    check_errors("sigaction SIGINT", return_code);

    return_code = sigaction(SIGTERM, &action, NULL);
    check_errors("sigaction SIGTERM", return_code);

    logger_.log("Event loop is ready. Waiting for connections on port = %d...", port);
}
开发者ID:yurai007,项目名称:custom_transport,代码行数:32,代码来源:custom_transport.cpp

示例3: make_socket_non_blocking

static int make_socket_non_blocking (int sfd)
{
    int flags = fcntl (sfd, F_GETFL, 0);
    check_errors("fcntl", flags);

    flags |= O_NONBLOCK;
    int s = fcntl (sfd, F_SETFL, flags);
    check_errors("fcntl", s);
    return 0;
}
开发者ID:yurai007,项目名称:custom_transport,代码行数:10,代码来源:custom_transport.cpp

示例4: message_queue_test_case

void message_queue_test_case()
{
	pid_t pid = fork();
	check_errors(pid, "fork");
	if (pid == 0)
	{
		// Writer
		int msgflg = IPC_CREAT | 0666;
		key_t key = 1234;
		static struct message_buf send_data;
		//size_t buf_length;

		int msqid = msgget(key, msgflg);
		check_errors(msqid, "msgget");

		send_data.mtype = 1;

		for (size_t i = 0; i < sizeof(send_data.buffer); i++)
			send_data.buffer[i] = (unsigned char)(i);

		char *current = (char*)send_data.buffer;
		while(current - (char*)send_data.buffer < DATA_SIZE)
		{
			int result = msgsnd(msqid, &current, MSGSIZE + 1, IPC_NOWAIT);
			check_errors(result, "msgsnd");

			current += MSGSIZE;
		}

//		strcpy(send_data.buffer, "Did you get this?");
//		buf_length = strlen(send_data.buffer) + 1 ;

//		int result = msgsnd(msqid, &send_data, buf_length, IPC_NOWAIT);
//		check_errors(result, "msgsnd");

		//printf("Message: \"%s\" Sent\n", send_data.buffer);
		exit(0);
	}
	else
	{
		// Reader
		my_sleep(0 ,10);

		key_t key = 1234;
		static struct message_buf recieved_data;

		int msqid = msgget(key, 0666);
		check_errors(msqid, "msgget");

		int result = msgrcv(msqid, &recieved_data, DATA_SIZE, 1, 0);
		check_errors(result, "msgrcv");

		printf("I recieved: %s\n", recieved_data.buffer);
	}
}
开发者ID:yurai007,项目名称:lfs-academy,代码行数:55,代码来源:main.c

示例5: Stream

Audio::Stream :: Stream(std::string fn):
    m_Filename(fn)
{
    auto l = Audio::lock();
    
    if(Headless::enabled())
        return;
    
    // clear errors
    clear_errors();
    
    int r;
    if((r = ov_fopen((char*)&fn[0], &m_Ogg)) < 0)
        ERROR(READ, Filesystem::getFileName(fn));
    
    if(check_errors())
        ERROR(READ, Filesystem::getFileName(fn));

    m_VorbisInfo = ov_info(&m_Ogg, -1);
    m_VorbisComment = ov_comment(&m_Ogg, -1);
    
    if(check_errors())
        ERROR(READ, Filesystem::getFileName(fn));
 
    if(m_VorbisInfo->channels == 1)
        m_Format = AL_FORMAT_MONO16;
    else
        m_Format = AL_FORMAT_STEREO16;
    
    alGenBuffers(2, m_Buffers);

    if(check_errors())
        ERROR(READ, Filesystem::getFileName(fn));

    flags |= Source::F_LOOP;

    //std::cout
    //    << "version         " << m_VorbisInfo->version         << "\n"
    //    << "channels        " << m_VorbisInfo->channels        << "\n"
    //    << "rate (hz)       " << m_VorbisInfo->rate            << "\n"
    //    << "bitrate upper   " << m_VorbisInfo->bitrate_upper   << "\n"
    //    << "bitrate nominal " << m_VorbisInfo->bitrate_nominal << "\n"
    //    << "bitrate lower   " << m_VorbisInfo->bitrate_lower   << "\n"
    //    << "bitrate window  " << m_VorbisInfo->bitrate_window  << "\n"
    //    << "\n"
    //    << "vendor " << m_VorbisComment->vendor << "\n";
        
    //for(int i = 0; i < m_VorbisComment->comments; i++)
    //    std::cout << "   " << m_VorbisComment->user_comments[i] << "\n";
        
    //std::cout << std::endl;

    m_bOpen = true;
}
开发者ID:NickYang,项目名称:qor,代码行数:54,代码来源:Audio.cpp

示例6: unix_domain_sockets_server

/*
 * It's important that DATA_SIZE mod CHUNK_SIZE == 0!

 * In C every pointer may be casting on every another pointer
   (but casting function ptr to object ptr is UB). However remember about
   strict aliasing which e.g may breaks quake3 fast square root code:
   http://stackoverflow.com/questions/15818906/does-this-pointer-casting-break-strict-aliasing-rule

 * strange thing because unix_domain_sockets_server (which is child) is killed after parent death
   (shouldn't be orphan and still live?). When server is parent all is OK.
 */
int unix_domain_sockets_server()
{
	int server_socket, client_socket, len;
	struct sockaddr_un local, remote;
	static char buffer[SOCKETS_DATA_SIZE];

	server_socket = socket(AF_UNIX, SOCK_STREAM, 0);
	check_errors(server_socket, "Socket failed");

	local.sun_family = AF_UNIX;
	strcpy(local.sun_path, SOCK_PATH);
	unlink(local.sun_path);
	len = strlen(local.sun_path) + sizeof(local.sun_family);

	int result = bind(server_socket, (struct sockaddr *)&local, len);
	check_errors(result, "Bind failed");

	// mark server_socket to be listening socket. Second argument - 'backlog' =
	// max. number of connections we can accept.
	result = listen(server_socket, 5);
	check_errors(result, "Listen failed");

	for(;;)
	{
		printf("Waiting for a connection\n");
		int remote_address_size = sizeof(remote);
		// waiting for connect() in blocking accept. Accept returns socket per client which represent remote
		// connection endpoint
        client_socket = accept(server_socket, (struct sockaddr *)&remote, (struct socklen_t *)&remote_address_size);
		check_errors(client_socket, "Accept failed");

		printf("Connected with client on socket %d\n", client_socket);
		while (1)
		{
			int read_bytes_number = recv(client_socket, buffer, SOCKETS_CHUNK_SIZE, 0);
			if (read_bytes_number <= 0)
			{
				check_errors(read_bytes_number, "Recv failed");
				break;
			}

			if (send(client_socket, buffer, read_bytes_number, 0) < 0)
			{
				perror("send");
				break;
			}
		}
		close(client_socket);
	}
	return 0;
}
开发者ID:yurai007,项目名称:lfs-academy,代码行数:62,代码来源:main.c

示例7: unix_domain_sockets_client

/*
 * No bind, listen and accept
 * There is many sockaddr structs which represents address.
   Here sockaddr_un where address is path to file.
 */
int unix_domain_sockets_client()
{
	static unsigned char data_to_send[SOCKETS_DATA_SIZE];
	static unsigned char recieved_data[SOCKETS_DATA_SIZE];

	for (size_t i = 0; i < sizeof(data_to_send); i++)
		data_to_send[i] = (unsigned char)(i);

	struct sockaddr_un remote;

	int socket_fd = socket(AF_UNIX, SOCK_STREAM, 0);
	check_errors(socket_fd, "Socket failed");

	printf("Trying to connect...\n");

	remote.sun_family = AF_UNIX;
	strcpy(remote.sun_path, SOCK_PATH);
	int len = strlen(remote.sun_path) + sizeof(remote.sun_family);

	int result = connect(socket_fd, (struct sockaddr *)&remote, len);
	check_errors(result, "Connect failed");

	printf("Connected with server\n");

	char *current_send = (char *)data_to_send;
	char *current_recieve = (char *)recieved_data;

	while (current_send - (char *)data_to_send < SOCKETS_DATA_SIZE)
	{
		int send_bytes = send(socket_fd, current_send, SOCKETS_CHUNK_SIZE, 0);
		current_send += send_bytes;

		check_errors(send_bytes - SOCKETS_CHUNK_SIZE, "Send too little\n");

		int read_bytes_number = recv(socket_fd, current_recieve, SOCKETS_CHUNK_SIZE, 0);
		current_recieve += read_bytes_number;

		check_errors(read_bytes_number - SOCKETS_CHUNK_SIZE, "Recieved too little\n");
	}

	close(socket_fd);

	if (memcmp(data_to_send, recieved_data, sizeof(recieved_data)) == 0)
		printf("OK. Send and recieved data are the same!\n");
	else
		printf("Error. Send and recieved data are NOT the same!\n");
	return 0;
}
开发者ID:yurai007,项目名称:lfs-academy,代码行数:53,代码来源:main.c

示例8: ignore_sigpipe

static const char *run_case(struct Worker *client, struct Worker *server)
{
	struct event_base *base = NULL;
	int spair[2];
	const char *res = "huh";
	bool done = false;

	ignore_sigpipe();

	base = event_init();
	client->evbase = base;
	server->evbase = base;

	tt_assert(socketpair(AF_UNIX, SOCK_STREAM, 0, spair) == 0);
	tt_assert(socket_setup(spair[0], true));
	tt_assert(socket_setup(spair[1], true));

	str_check(start_worker(client, spair[1]), "OK");
	str_check(start_worker(server, spair[0]), "OK");

	while (client->ctx || server->ctx)
		tt_assert(event_base_loop(base, EVLOOP_ONCE) == 0);

	done = true;
end:
	res = check_errors(client, server);
	free_worker(client);
	free_worker(server);
	event_base_free(base);
	return done ? res : "fail";
}
开发者ID:v2tmobile,项目名称:libusual,代码行数:31,代码来源:test_tls.c

示例9: main

int main(int argc, char* argv[]){
	dim_t order;
	dim_t nA;
	dim_t permutation[FLA_MAX_ORDER];

	FLA_Init();

	//Parse input
	if(parse_input(argc, argv, &order, &nA, permutation) == FLA_FAILURE){
		Usage();
		FLA_Finalize();
		return 0;
	}

	if(check_errors(order, nA, permutation) == FLA_FAILURE){
		Usage();
		FLA_Finalize();
		return 0;
	}

	test_permute_tensor(order, nA, permutation);

	FLA_Finalize();

	return 0;
}
开发者ID:pgawron,项目名称:tlash,代码行数:26,代码来源:tensor_permute.c

示例10: main

/********************************************//**
 *
 * This is the main method which will start the compiler.
 * 1) Check if the file name contains .ps, if not it will exit.
 * 2) Do the first Transition.
 * 3) Do the second transition.
 * 4) Check for errors, if errors exist it will print them and exit the program
 *    before writing the files.
 * 5) Generate the required files.
 *
 ***********************************************/
int main(int argc, char *argv[]) {
	Compiler *compiler = NULL;
	int curFileIdx = 1;

	if (argc == 1) {
		printf("No input files to compile!\n");
		exit(0);
	} else {
		while (--argc) {

			if (is_valid_filename(argv[curFileIdx]) == FALSE)
				exit(0);

			init_compiler(&compiler, BASE_OFFSET, argv[curFileIdx]);
			first_transition(compiler);
			second_transition(compiler);

			if (check_errors(compiler)) {
				//printf("errors\n");
				print_errors(compiler);
				exit(0);
			} else
				generate_files(compiler);

			free(compiler);
			curFileIdx++;
		}
	}

	printf("Compilation finished successfully.\n");
	return 0;
}
开发者ID:raskanskyz,项目名称:Assembler,代码行数:43,代码来源:main.c

示例11: set_lights_tok_tab

void				set_lights_tok_tab(t_light_tok **t,
						char **tab, int *index, int len)
{
	int			i;
	char		**tmp;

	i = 0;
	tmp = NULL;
	if (t && tab)
	{
		while (*t)
		{
			if (i < len)
			{
				tmp = ft_strsplit(tab[index[i]], SEP_2);
				if (tmp && tmp[0] && tmp[1])
					set_light_tok_var(*t, tmp[1]);
				else
					check_errors(NUL, "light bad format", tab[index[i]]);
				i++;
				free_tab(&tmp);
			}
			t++;
		}
	}
}
开发者ID:elhmn,项目名称:Raytracer,代码行数:26,代码来源:set_light_tok.c

示例12: nfs_read_cb

void
nfs_read_cb(void * callback, uintptr_t token, struct pbuf *pbuf)
{
    int err = 0, status = -1;
    fattr_t pattrs;
    char *data = NULL;
    int size = 0;
    void (*cb) (uintptr_t, int, fattr_t *, int, char *) = callback;

    err = check_errors(pbuf);

    assert(callback != NULL);

    if (err == 0) {
	/* get the status out */
	getfrombuf(pbuf, (char*) &status, sizeof(status));

	if (status == NFS_OK) {
	    /* it worked, so take out the return stuff! */
	    getfrombuf(pbuf, (void*) &pattrs, 
		   sizeof(fattr_t));
	    getfrombuf(pbuf, (void*) &size, 
		   sizeof(int));
	    data = getpointfrombuf(pbuf, pattrs.size);
	}
    }

    cb(token, status, &pattrs, size, data);

    return;
}
开发者ID:dafyddcrosby,项目名称:L4OS,代码行数:31,代码来源:nfsrpc.c

示例13: ERR_FAIL_COND

void FileAccessWindows::seek_end(int64_t p_position) {

	ERR_FAIL_COND(!f);
	if (fseek(f, p_position, SEEK_END))
		check_errors();
	prev_op = 0;
}
开发者ID:Paulloz,项目名称:godot,代码行数:7,代码来源:file_access_windows.cpp

示例14: nfs_write_cb

void
nfs_write_cb(void * callback, uintptr_t token, struct pbuf *pbuf)
{
    int err = 0, status = -1;
    fattr_t pattrs;
    void (*cb) (uintptr_t, int, fattr_t *) = callback;

    err = check_errors(pbuf);

    assert(callback != NULL);

    if (err == 0) {
	/* get the status out */
	getfrombuf(pbuf, (char*) &status, sizeof(status));

	if (status == NFS_OK) {
	    /* it worked, so take out the return stuff! */
	    getfrombuf(pbuf, (void*) &pattrs, 
		   sizeof(fattr_t));
	}
    }

    cb(token, status, &pattrs);

    return;
}
开发者ID:dafyddcrosby,项目名称:L4OS,代码行数:26,代码来源:nfsrpc.c

示例15: nfs_create_cb

void
nfs_create_cb(void * callback, uintptr_t token, struct pbuf *pbuf)
{
    int err = 0, status = -1;
    struct cookie new_fh;
    fattr_t pattrs;
    void (*cb) (uintptr_t, int, struct cookie *, fattr_t *) = callback;

    assert(callback != NULL);

    err = check_errors(pbuf);

    if (err == 0) {
	/* get the status out */
	getfrombuf(pbuf, (char*) &status, sizeof(status));

	if (status == NFS_OK) {
	    /* it worked, so take out the return stuff! */
	    getfrombuf(pbuf, (void*) &new_fh, 
		   sizeof(struct cookie));
	    getfrombuf(pbuf, (void*) &pattrs, 
		   sizeof(fattr_t));
	}
    }

    debug("NFS CREATE CALLBACK\n");
    cb(token, status, &new_fh, &pattrs);

    return;

}
开发者ID:dafyddcrosby,项目名称:L4OS,代码行数:31,代码来源:nfsrpc.c


注:本文中的check_errors函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。