这篇教程C++ uv_close函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中uv_close函数的典型用法代码示例。如果您正苦于以下问题:C++ uv_close函数的具体用法?C++ uv_close怎么用?C++ uv_close使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了uv_close函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: destroy_curl_contextstatic void destroy_curl_context(curl_context_t *context){ uv_close((uv_handle_t *) &context->poll_handle, curl_close_cb);}
开发者ID:JDepooter,项目名称:curl,代码行数:4,
示例2: after_shutdownstatic void after_shutdown(uv_req_t* req, int status) { uv_close(req->handle, on_close); free(req);}
开发者ID:AlexChesser,项目名称:node,代码行数:4,
示例3: write_donevoid write_done( uv_write_t *wreq, int status ){ ctx_t *ctx = ( ctx_t *)wreq->data; uv_close( ( uv_handle_t *)wreq->handle, close_done ); //close client free( wreq );}
开发者ID:litesky,项目名称:html-sqlite,代码行数:6,
示例4: check_cbstatic void check_cb(uv_check_t* handle) { ASSERT(check_cb_called == 0); uv_close((uv_handle_t*) &async_handle, NULL); uv_close((uv_handle_t*) &check_handle, NULL); check_cb_called++;}
开发者ID:sjw7453584,项目名称:Server,代码行数:6,
示例5: timeout_cbstatic void timeout_cb(uv_timer_t* timer, int status) { uv_close((uv_handle_t*)&server, close_cb); uv_close((uv_handle_t*)&client, close_cb); uv_close((uv_handle_t*)&timeout, close_cb);}
开发者ID:Cahya,项目名称:node,代码行数:5,
示例6: timer_cbstatic void timer_cb(uv_timer_t* timer) { timer_cb_called++; uv_close((uv_handle_t*) timer, NULL);}
开发者ID:AlexanderPankiv,项目名称:node,代码行数:4,
示例7: jl_uv_shutdownCallbackDLLEXPORT void jl_uv_shutdownCallback(uv_shutdown_t* req, int status){ uv_close((uv_handle_t*) req->handle, &jl_uv_closeHandle); free(req);}
开发者ID:BusyAge,项目名称:julia,代码行数:5,
示例8: utb_on_shutdownvoid utb_on_shutdown(uv_shutdown_t* req,int status){ uv_close((uv_handle_t*)req->handle,utb_on_close); UTB_PRINTF("free %p",req); free(req);}
开发者ID:dmh2000,项目名称:utb,代码行数:6,
示例9: rust_uv_hilvl_closeextern "C" voidrust_uv_hilvl_close(uv_handle_t* handle, crust_close_cb cb) { handle_data* data = (handle_data*)handle->data; data->close_cb = cb; uv_close(handle, native_close_cb);}
开发者ID:bihicheng,项目名称:rust,代码行数:6,
示例10: tiny_timer_cbstatic void tiny_timer_cb(uv_timer_t* handle) { ASSERT(handle == &tiny_timer); uv_close((uv_handle_t*) &tiny_timer, NULL); uv_close((uv_handle_t*) &huge_timer1, NULL); uv_close((uv_handle_t*) &huge_timer2, NULL);}
开发者ID:sjw7453584,项目名称:Server,代码行数:6,
示例11: rust_uv_closeextern "C" voidrust_uv_close(uv_handle_t* handle, uv_close_cb cb) { uv_close(handle, cb);}
开发者ID:bihicheng,项目名称:rust,代码行数:4,
示例12: rust_uv_stop_op_cbextern "C" voidrust_uv_stop_op_cb(uv_handle_t* op_handle) { uv_close(op_handle, native_close_op_cb);}
开发者ID:bihicheng,项目名称:rust,代码行数:4,
示例13: connect_cbstatic void connect_cb(uv_connect_t* connect_req, int status) { ASSERT(status == UV_ENOENT); connect_cb_called++; uv_close((uv_handle_t*)&prepare_handle, close_cb); uv_close((uv_handle_t*)&pipe_handle, close_cb);}
开发者ID:0-wiz-0,项目名称:libuv,代码行数:6,
示例14: lws_uv_walk_cbstatic void lws_uv_walk_cb(uv_handle_t *handle, void *arg){ if (!uv_is_closing(handle)) uv_close(handle, lws_uv_close_cb);}
开发者ID:harron,项目名称:libwebsockets,代码行数:5,
示例15: lwsgs_email_readstatic voidlwsgs_email_read(struct uv_stream_s *s, ssize_t nread, const uv_buf_t *buf){ struct lws_email *email = (struct lws_email *)s->data; static const short retcodes[] = { 0, /* idle */ 0, /* connecting */ 220, /* connected */ 250, /* helo */ 250, /* from */ 250, /* to */ 354, /* data */ 250, /* body */ 221, /* quit */ }; uv_write_t write_req; uv_buf_t wbuf; int n; if (nread >= 0) email->email_buf[nread] = '/0'; lwsl_notice("%s: %s/n", __func__, buf->base); if (nread == -1) { lwsl_err("%s: failed/n", __func__); return; } n = atoi(buf->base); if (n != retcodes[email->estate]) { lwsl_err("%s: bad response from server/n", __func__); goto close_conn; } switch (email->estate) { case LGSSMTP_CONNECTED: n = sprintf(email->content, "HELO %s/n", email->email_helo); email->estate = LGSSMTP_SENT_HELO; break; case LGSSMTP_SENT_HELO: n = sprintf(email->content, "MAIL FROM: <%s>/n", email->email_from); email->estate = LGSSMTP_SENT_FROM; break; case LGSSMTP_SENT_FROM: n = sprintf(email->content, "RCPT TO: <%s>/n", email->email_to); email->estate = LGSSMTP_SENT_TO; break; case LGSSMTP_SENT_TO: n = sprintf(email->content, "DATA/n"); email->estate = LGSSMTP_SENT_DATA; break; case LGSSMTP_SENT_DATA: if (email->on_get_body(email, email->content, email->max_content_size)) return; n = strlen(email->content); email->estate = LGSSMTP_SENT_BODY; break; case LGSSMTP_SENT_BODY: n = sprintf(email->content, "quit/n"); email->estate = LGSSMTP_SENT_QUIT; break; case LGSSMTP_SENT_QUIT: lwsl_notice("%s: done/n", __func__); email->on_sent(email); email->estate = LGSSMTP_IDLE; goto close_conn; default: return; } puts(email->content); wbuf = uv_buf_init(email->content, n); uv_write(&write_req, s, &wbuf, 1, on_write_end); return;close_conn: uv_close((uv_handle_t *)s, ccb);}
开发者ID:arun-v-,项目名称:libwebsockets,代码行数:79,
示例16: async_cbvoid async_cb(uv_async_t* async, int status) { printf("async_cb/n"); uv_close((uv_handle_t*) async, NULL);}
开发者ID:rwaldron,项目名称:libuv-examples,代码行数:4,
示例17: ipc_write_cbvoid ipc_write_cb(uv_write_t* req, int status){ struct ipc_peer_ctx* ctx; ctx = container_of(req, struct ipc_peer_ctx, write_req); uv_close((uv_handle_t*) &ctx->peer_handle, ipc_close_cb);}
开发者ID:JackDanger,项目名称:Haywire,代码行数:6,
示例18: fork_signal_to_child_cbvoid fork_signal_to_child_cb(uv_signal_t* handle, int signum){ fork_signal_cb_called = signum; uv_close((uv_handle_t*)handle, NULL);}
开发者ID:AlexanderPankiv,项目名称:node,代码行数:5,
示例19: destroy_http_contextvoid destroy_http_context(client_context * context){ uv_close((uv_handle_t*) &context->poll_handle, &close_cb);}
开发者ID:mpapierski,项目名称:http-server,代码行数:4,
示例20: timer_cb_touchstatic void timer_cb_touch(uv_timer_t* timer) { uv_close((uv_handle_t*)timer, NULL); touch_file("watch_file"); timer_cb_touch_called++;}
开发者ID:AlexanderPankiv,项目名称:node,代码行数:5,
示例21: main//.........这里部分代码省略......... } if (daemonize) { if (logfile) { if (daemon (0, 1) < 0) { perror ("daemon()"); exit (0); } close (0); close (1); close (2); ret = open (logfile, O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR); if (ret != -1) { dup2 (ret, 1); dup2 (ret, 2); } } else { if (daemon (0, 0) < 0) { perror ("daemon()"); exit (0); } } } /* add all listen (-s -m) ports to event_base, if someone connect: accept_connect is executed with struct listener argument */ for (listener = first_listener; listener; listener = listener->next) { for (i = 0, ok = 0; i < 10; i++) { listener->stream = create_listen_socket (listener->s); listener->stream->data = listener; int r = uv_listen ((uv_stream_t *) listener->stream, -1, on_incoming_connection); if (r) { logmsg ("listen to %s failed, retrying", listener->s); uv_close ((uv_handle_t *) listener->stream, on_close_listener); usleep (200 * 1000); } else { logmsg ("listening on %s", listener->s); ok = 1; break; } } if (ok == 0) { logmsg ("listen to %s failed, exiting", listener->s); _exit (-1); } } if (!first_destination && !mysql_cdb_file && !postgresql_cdb_file) { usage (); } if (daemonize) { if (pidfile) { FILE *fp = fopen(pidfile, "w"); if (fp) { fprintf (fp, "%d", getpid()); fclose (fp); } else { logmsg("cannot open pidfile %s (%s)", pidfile, strerror (errno)); } } } /* main libuv loop */ uv_run (uv_default_loop (), UV_RUN_DEFAULT); /* SIGINT || SIGTERM received, clean up */ bufpool_done (pool); free (pool); if (mysql_cdb_file) { free (mysql_cdb_file); } if (postgresql_cdb_file) { free (postgresql_cdb_file); } struct destination *dst; dst = first_destination; while (dst) { destination = dst->next; free (dst->s); free (dst); dst = destination; } free (sigint); free (sigterm); exit (0);}
开发者ID:websupport-sk,项目名称:rum,代码行数:101,
示例22: shut_donevoid shut_done( uv_shutdown_t *req, int status ){ ctx_t *ctx = ( ctx_t *)req->data; uv_close( ( uv_handle_t *)&ctx->tcp, free_done ); free( req );}
开发者ID:litesky,项目名称:html-sqlite,代码行数:6,
示例23: on_closestatic void on_close(uv_handle_t* peer) { free(peer); uv_close((uv_handle_t*)&tcpServer, NULL);}
开发者ID:DagohtX,项目名称:node,代码行数:4,
示例24: jl_forceclose_uvJL_DLLEXPORT void jl_forceclose_uv(uv_handle_t *handle){ uv_close(handle,&jl_uv_closeHandle);}
开发者ID:hayd,项目名称:julia,代码行数:4,
示例25: close_handles void close_handles() {#if !defined(_WIN32) uv_signal_stop(&sigpipe_); uv_close(copy_cast<uv_signal_t*, uv_handle_t*>(&sigpipe_), NULL);#endif }
开发者ID:Instagram,项目名称:cpp-driver,代码行数:6,
示例26: bud_workerbud_error_t bud_worker(bud_config_t* config) { int r; bud_error_t err; bud_log(config, kBudLogDebug, "worker starting"); config->loop = uv_default_loop(); config->ipc = malloc(sizeof(*config->ipc)); config->signal.sighup = malloc(sizeof(*config->signal.sighup)); if (config->ipc == NULL || config->signal.sighup == NULL) { err = bud_error_str(kBudErrNoMem, "config->ipc"); goto fatal; } config->ipc->data = config; config->signal.sighup->data = config; r = uv_pipe_init(config->loop, config->ipc, 1); if (r != 0) { err = bud_error_num(kBudErrIPCPipeInit, r); goto fatal; } r = uv_pipe_open(config->ipc, 0); if (r != 0) { err = bud_error_num(kBudErrIPCPipeOpen, r); goto failed_pipe_open; } r = uv_read_start((uv_stream_t*) config->ipc, bud_worker_alloc_cb, bud_worker_read_cb); if (r != 0) { err = bud_error_num(kBudErrIPCReadStart, r); goto failed_pipe_open; }#ifndef _WIN32 /* Drop privileges */ err = bud_config_drop_privileges(config); if (!bud_is_ok(err)) goto failed_pipe_open; r = uv_signal_init(config->loop, config->signal.sighup); if (r != 0) { err = bud_error_num(kBudErrSignalInit, r); goto failed_pipe_open; } r = uv_signal_start(config->signal.sighup, bud_worker_signal_cb, SIGHUP); if (r != 0) { err = bud_error_num(kBudErrSignalInit, r); goto failed_signal_start; }#endif /* !_WIN32 */ err = bud_ok(); return err;#ifndef _WIN32failed_signal_start: uv_close((uv_handle_t*) config->signal.sighup, bud_worker_close_cb);#endif /* !_WIN32 */failed_pipe_open: uv_close((uv_handle_t*) config->ipc, bud_worker_close_cb); goto cleanup;fatal: free(config->ipc);cleanup: config->ipc = NULL; return err;}
开发者ID:joeybaker,项目名称:bud,代码行数:75,
示例27: stop void stop() { uv_close((uv_handle_t *)&async, [](uv_handle_t *handle) { delete reinterpret_cast<AsyncQueue *>(handle->data); }); }
开发者ID:AJcravea,项目名称:mapbox-gl-native,代码行数:5,
示例28: spawn_on_exitstatic void spawn_on_exit(uv_process_t *req, MVMint64 exit_status, int term_signal) { if (req->data) *(MVMint64 *)req->data = (exit_status << 8) | term_signal; uv_unref((uv_handle_t *)req); uv_close((uv_handle_t *)req, NULL);}
开发者ID:zengargoyle,项目名称:MoarVM,代码行数:6,
示例29: timer_cbstatic void timer_cb(uv_timer_t* handle, int status) { uv_timer_stop(handle); uv_close((uv_handle_t*)handle, 0);}
开发者ID:runner-mei,项目名称:libuv,代码行数:4,
注:本文中的uv_close函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ uv_default_loop函数代码示例 C++ uv_buf_init函数代码示例 |