您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ timeout_remove函数代码示例

51自学网 2021-06-03 08:51:03
  C++
这篇教程C++ timeout_remove函数代码示例写得很实用,希望能帮到您。

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

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

示例1: proxy_client_worker_input

static void proxy_client_worker_input(struct proxy_client_dsync_worker *worker){    const char *line;    int ret;    if (worker->to_input != NULL)        timeout_remove(&worker->to_input);    if (worker->worker.input_callback != NULL) {        worker->worker.input_callback(worker->worker.input_context);        timeout_reset(worker->to);        return;    }    while ((ret = proxy_client_worker_read_line(worker, &line)) > 0) {        if (!proxy_client_worker_next_reply(worker, line))            break;    }    if (ret < 0) {        /* try to continue */        proxy_client_worker_next_reply(worker, "");    }    if (worker->to_input != NULL) {        /* input stream's destroy callback was already called.           don't get back here. */        timeout_remove(&worker->to_input);    }    timeout_reset(worker->to);}
开发者ID:via,项目名称:dovecot-clouddb,代码行数:30,


示例2: idle_finish

static voididle_finish(struct cmd_idle_context *ctx, bool done_ok, bool free_cmd){	struct client *client = ctx->client;	if (ctx->keepalive_to != NULL)		timeout_remove(&ctx->keepalive_to);	if (ctx->to_hibernate != NULL)		timeout_remove(&ctx->to_hibernate);	if (ctx->sync_ctx != NULL) {		/* we're here only in connection failure cases */		(void)imap_sync_deinit(ctx->sync_ctx, ctx->cmd);	}	o_stream_cork(client->output);	if (client->io != NULL)		io_remove(&client->io);	if (client->mailbox != NULL)		mailbox_notify_changes_stop(client->mailbox);	if (done_ok)		client_send_tagline(ctx->cmd, "OK Idle completed.");	else		client_send_tagline(ctx->cmd, "BAD Expected DONE.");	o_stream_uncork(client->output);	if (free_cmd)		client_command_free(&ctx->cmd);}
开发者ID:Dexus,项目名称:ubuntu-trusty-dovecot,代码行数:31,


示例3: ldap_connection_kill

void ldap_connection_kill(struct ldap_connection *conn){	if (conn->io != NULL)		io_remove_closed(&(conn->io));	if (conn->to_disconnect != NULL)		timeout_remove(&(conn->to_disconnect));	if (conn->to_reconnect != NULL)		timeout_remove(&(conn->to_reconnect));	if (conn->request_queue != NULL) {		unsigned int n = aqueue_count(conn->request_queue);		for (unsigned int i = 0; i < n; i++) {			struct ldap_op_queue_entry *const *reqp =				array_idx(&(conn->request_array),					  aqueue_idx(conn->request_queue, i));			if ((*reqp)->msgid > -1)				ldap_abandon_ext(conn->conn, (*reqp)->msgid, NULL, NULL);			(*reqp)->msgid = -1;		}	}	if (conn->conn != NULL) {		ldap_unbind_ext(conn->conn, NULL, NULL);		ldap_memfree(conn->scred);	}	conn->conn = NULL;	conn->state = LDAP_STATE_DISCONNECT;}
开发者ID:bechtoldt,项目名称:dovecot-core,代码行数:27,


示例4: login_proxy_disconnect

static void login_proxy_disconnect(struct login_proxy *proxy){	if (proxy->to != NULL)		timeout_remove(&proxy->to);	if (proxy->to_notify != NULL)		timeout_remove(&proxy->to_notify);	if (!proxy->num_waiting_connections_updated) {		i_assert(proxy->state_rec->num_waiting_connections > 0);		proxy->state_rec->num_waiting_connections--;	}	if (proxy->connected) {		i_assert(proxy->state_rec->num_proxying_connections > 0);		proxy->state_rec->num_proxying_connections--;	}	if (proxy->server_io != NULL)		io_remove(&proxy->server_io);	if (proxy->server_input != NULL)		i_stream_destroy(&proxy->server_input);	if (proxy->server_output != NULL)		o_stream_destroy(&proxy->server_output);	if (proxy->server_fd != -1)		net_disconnect(proxy->server_fd);}
开发者ID:bjacke,项目名称:core,代码行数:25,


示例5: service_process_destroy

void service_process_destroy(struct service_process *process){	struct service *service = process->service;	struct service_list *service_list = service->list;	DLLIST_REMOVE(&service->processes, process);	hash_table_remove(service_pids, POINTER_CAST(process->pid));	if (process->available_count > 0)		service->process_avail--;	service->process_count--;	i_assert(service->process_avail <= service->process_count);	if (process->to_status != NULL)		timeout_remove(&process->to_status);	if (process->to_idle != NULL)		timeout_remove(&process->to_idle);	if (service->list->log_byes != NULL)		service_process_notify_add(service->list->log_byes, process);	process->destroyed = TRUE;	service_process_unref(process);	if (service->process_count < service->process_limit &&	    service->type == SERVICE_TYPE_LOGIN)		service_login_notify(service, FALSE);	service_list_unref(service_list);}
开发者ID:bsmr-dovecot,项目名称:core,代码行数:29,


示例6: shutdown_complete

static void shutdown_complete(const void *data, uint8_t size, void *user_data){	unsigned int id = PTR_TO_UINT(user_data);	timeout_remove(id);	mainloop_quit();}
开发者ID:ghent360,项目名称:bluez,代码行数:7,


示例7: idle_add_keepalive_timeout

static void idle_add_keepalive_timeout(struct cmd_idle_context *ctx){	unsigned int interval = ctx->client->set->imap_idle_notify_interval;	unsigned int client_hash;	if (interval == 0)		return;	/* set the interval so that the client gets the keepalive notifications	   at exactly the same time for all the connections. this helps to	   reduce battery usage in mobile devices. but we don't really want to	   send this notification for everyone at the same time, because it	   would cause huge peaks of activity.	   basing the notifications on the username works well for one account,	   but basing it on the IP address allows the client to get all of the	   notifications at the same time for multiple accounts as well (of	   course assuming Dovecot is running on all the servers :)	   one potential downside to using IP is that if a proxy hides the	   client's IP address notifications are sent to everyone at the same	   time, but this can be avoided by using a properly configured Dovecot	   proxy. we'll also try to avoid this by not doing it for the commonly	   used intranet IP ranges. */	client_hash = ctx->client->user->remote_ip != NULL &&		remote_ip_is_usable(ctx->client->user->remote_ip) ?		net_ip_hash(ctx->client->user->remote_ip) :		crc32_str(ctx->client->user->username);	interval -= (time(NULL) + client_hash) % interval;	if (ctx->keepalive_to != NULL)		timeout_remove(&ctx->keepalive_to);	ctx->keepalive_to = timeout_add(interval * 1000,					keepalive_timeout, ctx);}
开发者ID:Distrotech,项目名称:dovecot,代码行数:35,


示例8: destroy_unrefed

static void destroy_unrefed(bool all){	struct mail_index_alloc_cache_list **list, *rec;	bool seen_ref0 = FALSE;	for (list = &indexes; *list != NULL;) {		rec = *list;		if (rec->refcount == 0 &&		    (all || rec->destroy_time <= ioloop_time)) {			*list = rec->next;			mail_index_alloc_cache_list_free(rec);		} else {			if (rec->refcount == 0)				seen_ref0 = TRUE;			if (all && rec->index->open_count == 1 &&			    rec->referenced) {				/* we're the only one keeping this index open.				   we might be here, because the caller is				   deleting this mailbox and wants its indexes				   to be closed. so close it. */				rec->referenced = FALSE;				mail_index_close(rec->index);			}			list = &(*list)->next;		}	}	if (!seen_ref0 && to_index != NULL)		timeout_remove(&to_index);}
开发者ID:Distrotech,项目名称:dovecot,代码行数:31,


示例9: auth_request_handler_flush_failures

void auth_request_handler_flush_failures(bool flush_all){	struct auth_request **auth_requests, *auth_request;	unsigned int i, count;	time_t diff;	count = aqueue_count(auth_failures);	if (count == 0) {		if (to_auth_failures != NULL)			timeout_remove(&to_auth_failures);		return;	}	auth_requests = array_idx_modifiable(&auth_failures_arr, 0);	for (i = 0; i < count; i++) {		auth_request = auth_requests[aqueue_idx(auth_failures, 0)];		/* FIXME: assumess that failure_delay is always the same. */		diff = ioloop_time - auth_request->last_access;		if (diff < (time_t)auth_request->set->failure_delay &&		    !flush_all)			break;		aqueue_delete_tail(auth_failures);		i_assert(auth_request->state == AUTH_REQUEST_STATE_FINISHED);		auth_request_handler_reply(auth_request,					   AUTH_CLIENT_RESULT_FAILURE,					   &uchar_nul, 0);		auth_request_unref(&auth_request);	}}
开发者ID:dhultin,项目名称:dovecot-pop-uidl-proxy,代码行数:32,


示例10: client_input

static void client_input(struct client *client){	const char *const *args, *error;	int ret;	if (client->to_pending != NULL)		timeout_remove(&client->to_pending);	switch (i_stream_read(client->input)) {	case -2:		i_error("BUG: Stats client sent too much data");		client_destroy(&client);		return;	case -1:		client_destroy(&client);		return;	}	o_stream_cork(client->output);	while ((args = client_read_next_line(client)) != NULL) {		ret = client_handle_request(client, args, &error);		if (ret < 0) {			i_error("Stats client input error: %s", error);			client_destroy(&client);			return;		}		if (ret == 0) {			o_stream_set_flush_pending(client->output, TRUE);			io_remove(&client->io);			break;		}		client->cmd_more = NULL;	}	o_stream_uncork(client->output);}
开发者ID:dhultin,项目名称:dovecot-pop-uidl-proxy,代码行数:35,


示例11: pop3c_client_disconnect

static void pop3c_client_disconnect(struct pop3c_client *client){	client->state = POP3C_CLIENT_STATE_DISCONNECTED;	client->async_commands = 0;	if (client->running)		io_loop_stop(current_ioloop);	if (client->dns_lookup != NULL)		dns_lookup_abort(&client->dns_lookup);	if (client->to != NULL)		timeout_remove(&client->to);	if (client->io != NULL)		io_remove(&client->io);	if (client->input != NULL)		i_stream_destroy(&client->input);	if (client->output != NULL)		o_stream_destroy(&client->output);	if (client->ssl_iostream != NULL)		ssl_iostream_unref(&client->ssl_iostream);	if (client->fd != -1) {		if (close(client->fd) < 0)			i_error("close(pop3c) failed: %m");		client->fd = -1;	}	client_login_callback(client, POP3C_COMMAND_STATE_DISCONNECTED,			      "Disconnected");}
开发者ID:Distrotech,项目名称:dovecot,代码行数:28,


示例12: login_proxy_free_final

static void login_proxy_free_final(struct login_proxy *proxy){	if (proxy->delayed_disconnect) {		DLLIST_REMOVE(&login_proxies_disconnecting, proxy);		i_assert(proxy->state_rec->num_delayed_client_disconnects > 0);		if (--proxy->state_rec->num_delayed_client_disconnects == 0)			proxy->state_rec->num_disconnects_since_ts = 0;		timeout_remove(&proxy->to);	}	if (proxy->client_io != NULL)		io_remove(&proxy->client_io);	if (proxy->client_input != NULL)		i_stream_destroy(&proxy->client_input);	if (proxy->client_output != NULL)		o_stream_destroy(&proxy->client_output);	if (proxy->client_fd != -1)		net_disconnect(proxy->client_fd);	if (proxy->ssl_server_proxy != NULL) {		ssl_proxy_destroy(proxy->ssl_server_proxy);		ssl_proxy_free(&proxy->ssl_server_proxy);	}	i_free(proxy->host);	i_free(proxy);}
开发者ID:manuelm,项目名称:dovecot,代码行数:26,


示例13: client_command_free

void client_command_free(struct client_command_context **_cmd){	struct client_command_context *cmd = *_cmd;	struct client *client = cmd->client;	enum client_command_state state = cmd->state;	*_cmd = NULL;	i_assert(client->output_cmd_lock == NULL);	/* reset input idle time because command output might have taken a	   long time and we don't want to disconnect client immediately then */	client->last_input = ioloop_time;	timeout_reset(client->to_idle);	if (cmd->cancel) {		cmd->cancel = FALSE;		client_send_tagline(cmd, "NO Command cancelled.");	}	if (!cmd->param_error)		client->bad_counter = 0;	if (client->input_lock == cmd)		client->input_lock = NULL;	if (client->mailbox_change_lock == cmd)		client->mailbox_change_lock = NULL;	if (client->free_parser == NULL) {		imap_parser_reset(cmd->parser);		client->free_parser = cmd->parser;	} else if (cmd->parser != NULL) {		imap_parser_unref(&cmd->parser);	}	client->command_queue_size--;	DLLIST_REMOVE(&client->command_queue, cmd);	cmd = NULL;	if (client->command_queue == NULL) {		/* no commands left in the queue, we can clear the pool */		p_clear(client->command_pool);		if (client->to_idle_output != NULL)			timeout_remove(&client->to_idle_output);	}	imap_client_notify_command_freed(client);	imap_refresh_proctitle();	/* if command finished from external event, check input for more	   unhandled commands since we may not be executing from client_input	   or client_output. */	if (state == CLIENT_COMMAND_STATE_WAIT_EXTERNAL &&	    !client->disconnected) {		client_add_missing_io(client);		if (client->to_delayed_input == NULL) {			client->to_delayed_input =				timeout_add(0, client_input, client);		}	}}
开发者ID:LTD-Beget,项目名称:dovecot,代码行数:60,


示例14: ldap_connection_abort_request

staticvoid ldap_connection_abort_request(struct ldap_op_queue_entry *req){	struct ldap_result res;	/* too bad */	if (req->to_abort != NULL)		timeout_remove(&req->to_abort);	if (req->msgid > -1)		ldap_abandon_ext(req->conn->conn, req->msgid, NULL, NULL);	memset(&res, 0, sizeof(res));	res.openldap_ret = LDAP_TIMEOUT;	res.error_string = "Aborting LDAP request after timeout";	if (req->result_callback != NULL)		req->result_callback(&res, req->result_callback_ctx);	unsigned int n = aqueue_count(req->conn->request_queue);	for (unsigned int i = 0; i < n; i++) {		struct ldap_op_queue_entry *const *reqp =			array_idx(&(req->conn->request_array),				  aqueue_idx(req->conn->request_queue, i));		if (req == *reqp) {			aqueue_delete(req->conn->request_queue, i);			ldap_connection_request_destroy(&req);			return;		}	}	i_unreached();}
开发者ID:bechtoldt,项目名称:dovecot-core,代码行数:30,


示例15: lmtp_client_close

void lmtp_client_close(struct lmtp_client *client){	if (client->dns_lookup != NULL)		dns_lookup_abort(&client->dns_lookup);	if (client->to != NULL)		timeout_remove(&client->to);	if (client->io != NULL)		io_remove(&client->io);	if (client->input != NULL)		i_stream_close(client->input);	if (client->output != NULL)		o_stream_close(client->output);	if (client->fd != -1) {		net_disconnect(client->fd);		client->fd = -1;	}	if (client->data_input != NULL)		i_stream_unref(&client->data_input);	client->output_finished = TRUE;	if (!client->finish_called) {		client->finish_called = TRUE;		client->finish_callback(client->finish_context);	}}
开发者ID:bechtoldt,项目名称:dovecot-core,代码行数:25,


示例16: stats_user_deinit

static void stats_user_deinit(struct mail_user *user){	struct stats_user *suser = STATS_USER_CONTEXT(user);	struct stats_connection *stats_conn = suser->stats_conn;	i_assert(stats_user_count > 0);	stats_user_count--;	if (stats_global_user != NULL) {		/* we were updating the session lazily. do one final update. */		i_assert(stats_global_user == user);		stats_add_session(user);		stats_global_user = NULL;	}	io_loop_context_remove_callbacks(suser->ioloop_ctx,					 stats_io_activate,					 stats_io_deactivate, user);	/* send final stats before disconnection */	session_stats_refresh(user);	mail_stats_connection_disconnect(stats_conn, user);	if (suser->to_stats_timeout != NULL)		timeout_remove(&suser->to_stats_timeout);	suser->module_ctx.super.deinit(user);	stats_connection_unref(&stats_conn);}
开发者ID:aclindsa,项目名称:dovecot_core,代码行数:28,


示例17: main

int main(int argc, char *argv[]){	const char *error;	master_service = master_service_init("indexer", 0, &argc, &argv, "");	if (master_getopt(master_service) > 0)		return FATAL_DEFAULT;	if (master_service_settings_read_simple(master_service, NULL,						&error) < 0)		i_fatal("Error reading configuration: %s", error);	set = master_service_settings_get(master_service);	master_service_init_log(master_service, "indexer: ");	restrict_access_by_env(RESTRICT_ACCESS_FLAG_ALLOW_ROOT, NULL);	restrict_access_allow_coredumps(TRUE);	master_service_set_idle_die_callback(master_service, idle_die);	queue = indexer_queue_init(indexer_client_status_callback);	indexer_queue_set_listen_callback(queue, queue_listen_callback);	worker_pool = worker_pool_init("indexer-worker",				       worker_status_callback);	master_service_init_finish(master_service);	master_service_run(master_service, client_connected);	indexer_queue_cancel_all(queue);	indexer_clients_destroy_all();	worker_pool_deinit(&worker_pool);	indexer_queue_deinit(&queue);	timeout_remove(&to_send_more);	master_service_deinit(&master_service);        return 0;}
开发者ID:bdraco,项目名称:core,代码行数:35,


示例18: auth_client_idle_timeout

static void auth_client_idle_timeout(struct auth_client *auth_client){	i_assert(clients == NULL);	auth_client_disconnect(auth_client, "idle disconnect");	timeout_remove(&auth_client_to);}
开发者ID:jkerihuel,项目名称:dovecot,代码行数:7,


示例19: mail_session_free

static void mail_session_free(struct mail_session *session){	i_assert(session->refcount == 0);	global_memory_free(mail_session_memsize(session));	if (session->to_idle != NULL)		timeout_remove(&session->to_idle);	if (!session->disconnected)		hash_table_remove(mail_sessions_hash, session->id);	DLLIST_REMOVE_FULL(&stable_mail_sessions, session,			   stable_prev, stable_next);	DLLIST2_REMOVE_FULL(&mail_sessions_head, &mail_sessions_tail, session,			    sorted_prev, sorted_next);	DLLIST_REMOVE_FULL(&session->user->sessions, session,			   user_prev, user_next);	mail_user_unref(&session->user);	if (session->ip != NULL) {		DLLIST_REMOVE_FULL(&session->ip->sessions, session,				   ip_prev, ip_next);		mail_ip_unref(&session->ip);	}	str_table_unref(services, &session->service);	i_free(session->id);	i_free(session);}
开发者ID:jfsmig,项目名称:dovecot-core,代码行数:27,


示例20: mailbox_list_index_refresh_timeout

static void mailbox_list_index_refresh_timeout(struct mailbox_list *list){	struct mailbox_list_index *ilist = INDEX_LIST_CONTEXT(list);	timeout_remove(&ilist->to_refresh);	(void)mailbox_list_index_refresh(list);}
开发者ID:dhultin,项目名称:dovecot-pop-uidl-proxy,代码行数:7,


示例21: mbox_mailbox_close

static void mbox_mailbox_close(struct mailbox *box){	struct mbox_mailbox *mbox = (struct mbox_mailbox *)box;	const struct mail_index_header *hdr;	enum mbox_sync_flags sync_flags = 0;	if (mbox->mbox_stream != NULL &&	    istream_raw_mbox_is_corrupted(mbox->mbox_stream)) {		/* clear the corruption by forcing a full resync */		sync_flags |= MBOX_SYNC_UNDIRTY | MBOX_SYNC_FORCE_SYNC;	}	if (box->view != NULL) {		hdr = mail_index_get_header(box->view);		if ((hdr->flags & MAIL_INDEX_HDR_FLAG_HAVE_DIRTY) != 0 &&		    !mbox_is_backend_readonly(mbox)) {			/* we've done changes to mbox which haven't been			   written yet. do it now. */			sync_flags |= MBOX_SYNC_REWRITE;		}	}	if (sync_flags != 0 && !mbox->invalid_mbox_file)		(void)mbox_sync(mbox, sync_flags);	if (mbox->mbox_global_lock_id != 0)		mbox_unlock(mbox, mbox->mbox_global_lock_id);	if (mbox->keep_lock_to != NULL)		timeout_remove(&mbox->keep_lock_to);        mbox_file_close(mbox);	if (mbox->mbox_file_stream != NULL)		i_stream_destroy(&mbox->mbox_file_stream);	index_storage_mailbox_close(box);}
开发者ID:IvanKharpalev,项目名称:core,代码行数:35,


示例22: master_login_auth_disconnect

void master_login_auth_disconnect(struct master_login_auth *auth){	struct master_login_auth_request *request;	while (auth->request_head != NULL) {		request = auth->request_head;		DLLIST2_REMOVE(&auth->request_head,			       &auth->request_tail, request);		request_internal_failure(request,			"Disconnected from auth server, aborting");		i_free(request);	}	hash_table_clear(auth->requests, FALSE);	if (auth->to != NULL)		timeout_remove(&auth->to);	if (auth->io != NULL)		io_remove(&auth->io);	if (auth->fd != -1) {		i_stream_destroy(&auth->input);		o_stream_destroy(&auth->output);		net_disconnect(auth->fd);		auth->fd = -1;	}	auth->version_received = FALSE;}
开发者ID:jwm,项目名称:dovecot-notmuch,代码行数:28,


示例23: auth_server_connection_disconnect

void auth_server_connection_disconnect(struct auth_server_connection *conn,				       const char *reason){	conn->handshake_received = FALSE;	conn->version_received = FALSE;	conn->has_plain_mech = FALSE;	conn->server_pid = 0;	conn->connect_uid = 0;	conn->cookie = NULL;	array_clear(&conn->available_auth_mechs);	if (conn->to != NULL)		timeout_remove(&conn->to);	if (conn->io != NULL)		io_remove(&conn->io);	if (conn->fd != -1) {		i_stream_destroy(&conn->input);		o_stream_destroy(&conn->output);		if (close(conn->fd) < 0)			i_error("close(auth server connection) failed: %m");		conn->fd = -1;	}	auth_server_connection_remove_requests(conn, reason);	if (conn->client->connect_notify_callback != NULL) {		conn->client->connect_notify_callback(conn->client, FALSE,				conn->client->connect_notify_context);	}}
开发者ID:manuelm,项目名称:dovecot,代码行数:31,


示例24: replication_notify

static void replication_notify(struct mail_namespace *ns,			       enum replication_priority priority,			       const char *event){	struct replication_user *ruser;	ruser = REPLICATION_USER_CONTEXT(ns->user);	if (ruser == NULL)		return;	if (ns->user->mail_debug) {		i_debug("replication: Replication requested by '%s', priority=%d",			event, priority);	}	if (priority == REPLICATION_PRIORITY_SYNC) {		if (replication_notify_sync(ns->user) == 0) {			timeout_remove(&ruser->to);			ruser->priority = REPLICATION_PRIORITY_NONE;			return;		}		/* sync replication failed, try as "high" via fifo */		priority = REPLICATION_PRIORITY_HIGH;	}	if (ruser->priority < priority)		ruser->priority = priority;	if (ruser->to == NULL) {		ruser->to = timeout_add_short(REPLICATION_NOTIFY_DELAY_MSECS,					      replication_notify_now, ns->user);	}}
开发者ID:bsmr-dovecot,项目名称:core,代码行数:32,


示例25: client_destroy

static void client_destroy(struct client *client){	char **app;	i_set_failure_prefix("imap-urlauth[%s](%s): ",			     my_pid, client->access_user);	if (client->url != NULL) {		/* deinitialize url */		i_stream_close(client->input);		o_stream_close(client->output);		(void)client_run_url(client);		i_assert(client->url == NULL);	}	imap_urlauth_worker_client_count--;	DLLIST_REMOVE(&imap_urlauth_worker_clients, client);	if (client->urlauth_ctx != NULL)		imap_urlauth_deinit(&client->urlauth_ctx);	if (client->mail_user != NULL)		mail_user_unref(&client->mail_user);	if (client->io != NULL)		io_remove(&client->io);	if (client->ctrl_io != NULL)		io_remove(&client->ctrl_io);	if (client->to_idle != NULL)		timeout_remove(&client->to_idle);	if (client->input != NULL)		i_stream_destroy(&client->input);	if (client->output != NULL)		o_stream_destroy(&client->output);	if (client->ctrl_input != NULL)		i_stream_destroy(&client->ctrl_input);	if (client->ctrl_output != NULL)		o_stream_destroy(&client->ctrl_output);	if (client->fd_in >= 0)		net_disconnect(client->fd_in);	if (client->fd_out >= 0 && client->fd_in != client->fd_out)		net_disconnect(client->fd_out);	if (client->fd_ctrl >= 0)		net_disconnect(client->fd_ctrl);	if (client->service_user != NULL)		mail_storage_service_user_free(&client->service_user);	i_free(client->access_user);	array_foreach_modifiable(&client->access_apps, app)		i_free(*app);	array_free(&client->access_apps);	i_free(client);	imap_urlauth_worker_refresh_proctitle();	master_service_client_connection_destroyed(master_service);}
开发者ID:IvanKharpalev,项目名称:core,代码行数:59,


示例26: notify_delay_callback

static void notify_delay_callback(struct mailbox *box){	struct index_mailbox_context *ibox = INDEX_STORAGE_CONTEXT(box);	if (ibox->notify_delay_to != NULL)		timeout_remove(&ibox->notify_delay_to);	box->notify_callback(box, box->notify_context);}
开发者ID:LTD-Beget,项目名称:dovecot,代码行数:8,


示例27: unmap_event

static gbooleanunmap_event(GtkWidget *widget,            GdkEvent  *event){  timeout_remove(widget);  return TRUE;}
开发者ID:inniyah,项目名称:gtkglext3,代码行数:8,


示例28: login_proxy_detach

void login_proxy_detach(struct login_proxy *proxy){	struct client *client = proxy->client;	const unsigned char *data;	size_t size;	i_assert(proxy->client_fd == -1);	i_assert(proxy->server_input != NULL);	i_assert(proxy->server_output != NULL);	if (proxy->to != NULL)		timeout_remove(&proxy->to);	proxy->client_fd = i_stream_get_fd(client->input);	proxy->client_input = client->input;	proxy->client_output = client->output;	i_stream_set_persistent_buffers(client->input, FALSE);	o_stream_set_max_buffer_size(client->output, (size_t)-1);	o_stream_set_flush_callback(client->output, proxy_client_output, proxy);	client->input = NULL;	client->output = NULL;	/* send all pending client input to proxy */	data = i_stream_get_data(proxy->client_input, &size);	if (size != 0)		o_stream_nsend(proxy->server_output, data, size);	/* from now on, just do dummy proxying */	io_remove(&proxy->server_io);	proxy->server_io =		io_add(proxy->server_fd, IO_READ, server_input, proxy);	proxy->client_io =		io_add_istream(proxy->client_input, proxy_client_input, proxy);	o_stream_set_flush_callback(proxy->server_output, server_output, proxy);	i_stream_destroy(&proxy->server_input);	if (proxy->notify_refresh_secs != 0) {		proxy->to_notify =			timeout_add(proxy->notify_refresh_secs * 1000,				    login_proxy_notify, proxy);	}	proxy->callback = NULL;	if (login_proxy_ipc_server == NULL) {		login_proxy_ipc_server =			ipc_server_init(LOGIN_PROXY_IPC_PATH,					LOGIN_PROXY_IPC_NAME,					login_proxy_ipc_cmd);	}	DLLIST_REMOVE(&login_proxies_pending, proxy);	DLLIST_PREPEND(&login_proxies, proxy);	client->fd = -1;	client->login_proxy = NULL;}
开发者ID:bjacke,项目名称:core,代码行数:58,


示例29: pending_write_result

static void pending_write_result(struct pending_write *p, int err){	if (p->timeout_id > 0)		timeout_remove(p->timeout_id);	p->func(p->attrib, err, p->user_data);	free(p);}
开发者ID:Hibati,项目名称:gatt,代码行数:9,


示例30: stats_top_start

static void stats_top_start(struct top_context *ctx){	struct timeout *to;	stats_top_output(ctx);	to = timeout_add(1000, stats_top_output, ctx);	io_loop_run(current_ioloop);	timeout_remove(&to);}
开发者ID:dhultin,项目名称:dovecot-pop-uidl-proxy,代码行数:9,



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


C++ timeout_set函数代码示例
C++ timeout_markstart函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。