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

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

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

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

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

示例1: jl_printf

jl_value_t *jl_load(const char *fname, size_t len){    if (jl_current_module->istopmod) {        jl_printf(JL_STDOUT, "%s/r/n", fname);#ifdef _OS_WINDOWS_        uv_run(uv_default_loop(), (uv_run_mode)1);#endif    }    char *fpath = (char*)fname;    uv_stat_t stbuf;    if (jl_stat(fpath, (char*)&stbuf) != 0 || (stbuf.st_mode & S_IFMT) != S_IFREG) {        jl_errorf("could not open file %s", fpath);    }    if (jl_start_parsing_file(fpath) != 0) {        jl_errorf("could not open file %s", fpath);    }    jl_value_t *result = jl_parse_eval_all(fpath, len);    if (fpath != fname) free(fpath);    return result;}
开发者ID:bpiwowar,项目名称:julia,代码行数:20,


示例2: main

int main() {    loop = uv_default_loop();    char *args[3];    args[0] = "mkdir";    args[1] = "test-dir";    args[2] = NULL;    options.exit_cb = on_exit;    options.file = "mkdir";    options.args = args;    int r;    if ((r = uv_spawn(loop, &child_req, &options))) {        fprintf(stderr, "%s/n", uv_strerror(r));        return 1;    }    return uv_run(loop, UV_RUN_DEFAULT);}
开发者ID:Akagi201,项目名称:learning-libuv,代码行数:20,


示例3: main

int main() {  thread_comm_t comm;  int r;  memset(&comm, 0, sizeof(comm));  r = uv_mutex_init(&comm.mutex);  assert(r == 0);  r = uv_async_init(uv_default_loop(), &comm.async, async_cb);  assert(r == 0);  comm.async.data = (void*) &comm;  r = uv_thread_create(&comm.thread, thread_cb, (void*) &comm);  assert(r == 0);  uv_run(uv_default_loop(), UV_RUN_DEFAULT);  return 0;}
开发者ID:rwaldron,项目名称:libuv-examples,代码行数:20,


示例4: main

int main() {    /* our reference to the default loop */    uv_loop_t *loop;    /* a idler of uv_idle_t struct type */    uv_idle_t idler;    /* let uv return the default loop */    loop = uv_default_loop();    /* initialize a idle handle with the default loop and the reference of our idle type */    uv_idle_init(loop, &idler);    /* start executing the idle handler and call the wait_for_a_while callback */    uv_idle_start(&idler, wait_for_a_while);    printf("Idling .../n");    /* start runing the loop in default mode */    uv_run(loop, UV_RUN_DEFAULT);}
开发者ID:cloud-hot,项目名称:libuv-snippets,代码行数:20,


示例5: main

int main(){    loop = uv_default_loop();    uv_tcp_t* socket = (uv_tcp_t*)malloc(sizeof(uv_tcp_t));    uv_tcp_init(loop, socket);    uv_connect_t* connect = (uv_connect_t*)malloc(sizeof(uv_connect_t));	//    struct sockaddr_in dest;    uv_ip4_addr("127.0.0.1", 7000, &dest);    uv_tcp_connect(connect, socket,(struct sockaddr*)&dest, on_connect);    uv_run(loop, UV_RUN_DEFAULT);	uv_loop_close(socket);	uv_loop_close(connect);	free(socket);	free(connect);	return 0;}
开发者ID:xiaoliuzi,项目名称:netlib_demo,代码行数:20,


示例6: main

//ToDo: Server struct for state info?int main(int argc, char *argv[]){	struct sockaddr_in addr;	uv_loop_t *loop = uv_default_loop();	uv_ip4_addr("0.0.0.0", 25565, &addr);	uv_tcp_t server;	if (uv_tcp_init(loop, &server)) {		printf("Something has gone terribly wrong/n");		return -1;	}	if (uv_tcp_bind(&server, (struct sockaddr*)&addr, 0)) {		printf("Something has gone terribly wrong2/n");		return -1;	}	if (uv_listen((uv_stream_t*)&server, SOMAXCONN, server_connect_cb)) {		printf("Something has gone terribly wrong3/n");		return -1;	}	return uv_run(loop, UV_RUN_DEFAULT);}
开发者ID:nickelpro,项目名称:cspock,代码行数:21,


示例7: main

int main (int argc, char ** argv){	init (argc, argv);	elektraIoTestSuite (createBinding, startLoop, stopLoop);	// Run loop once to fire handle closed callbacks and free memory	// see http://docs.libuv.org/en/v1.x/handle.html#c.uv_close	uv_loop_t * loop = uv_default_loop ();	uv_run (loop, UV_RUN_ONCE);#ifdef HAVE_LIBUV1	uv_loop_close (loop);#elif HAVE_LIBUV0	uv_loop_delete (loop);#endif	print_result ("iowrapper_uv");	return nbError;}
开发者ID:Namoshek,项目名称:libelektra,代码行数:20,


示例8: pound_it

static int pound_it(int concurrency,                    const char* type,                    setup_fn do_setup,                    connect_fn do_connect,                    make_connect_fn make_connect,                    void* arg) {  double secs;  int r;  uint64_t start_time; /* in ns */  uint64_t end_time;  loop = uv_default_loop();  uv_update_time(loop);  start = uv_now(loop);  /* Run benchmark for at least five seconds. */  start_time = uv_hrtime();  do_setup(concurrency, arg);  r = do_connect(concurrency, make_connect, arg);  ASSERT(!r);  uv_run(loop, UV_RUN_DEFAULT);  end_time = uv_hrtime();  /* Number of fractional seconds it took to run the benchmark. */  secs = (double)(end_time - start_time) / NANOSEC;  fprintf(stderr, "%s-conn-pound-%d: %.0f accepts/s (%d failed)/n",          type,          concurrency,          closed_streams / secs,          conns_failed);  fflush(stderr);  MAKE_VALGRIND_HAPPY();  return 0;}
开发者ID:sjw7453584,项目名称:Server,代码行数:41,


示例9: main

int main (int argc, char *argv[]){   UNUSED (argc);   UNUSED (argv);   uv_loop_t *loop = uv_default_loop ();#ifdef HF_BASE_APP   HF::UID::URI *uid = new HF::UID::URI ("hf://base.example.com");#endif#ifdef HF_NODE_APP   if (argc < 2)   {      std::cout << "usage : " << argv[0] << " [number]" << std::endl;      exit (-1);   }   std::stringstream ss;   ss << "hf://node.example.com/" << argv[1];   HF::UID::URI *uid = new HF::UID::URI (ss.str ());#endif   HF::Application::Initialize (transport);   transport.uid (uid);   HF::Application::Handle ("?");   uv_pipe_init (loop, &stdin_pipe, 0);   uv_pipe_open (&stdin_pipe, 0);   uv_read_start ((uv_stream_t *) &stdin_pipe, alloc_buffer, read_stdin);   uv_run (loop, UV_RUN_DEFAULT);   HF::Application::Save ();   return 0;}
开发者ID:hauke,项目名称:hanfun,代码行数:41,


示例10: main

int main(int argc, char **argv){    uv_loop_t *loop = uv_default_loop();    uv_tcp_t listener;    struct sockaddr_in sockaddr;    h2o_hostconf_t *hostconf;    h2o_pathconf_t *pathconf;    int r;    if ((r = uv_tcp_init(loop, &listener)) != 0) {        fprintf(stderr, "uv_tcp_init:%s/n", uv_strerror(r));        goto Error;    }    uv_ip4_addr("127.0.0.1", 7890, &sockaddr);    if ((r = uv_tcp_bind(&listener, (struct sockaddr *)&sockaddr, sizeof(sockaddr))) != 0) {        fprintf(stderr, "uv_tcp_bind:%s/n", uv_strerror(r));        goto Error;    }    if ((r = uv_listen((uv_stream_t *)&listener, 128, on_connect)) != 0) {        fprintf(stderr, "uv_listen:%s/n", uv_strerror(r));        goto Error;    }    h2o_config_init(&config);    hostconf = h2o_config_register_host(&config, "default");    pathconf = h2o_config_register_path(hostconf, "/");    h2o_create_handler(pathconf, sizeof(h2o_handler_t))->on_req = on_req;    h2o_context_init(&ctx, loop, &config);    /* disabled by default: uncomment the block below to use HTTPS instead of HTTP */    /*    if (setup_ssl("server.crt", "server.key") != 0)        goto Error;    */    return uv_run(loop, UV_RUN_DEFAULT);Error:    return 1;}
开发者ID:Daiki0525,项目名称:h2o,代码行数:41,


示例11: prepare_events

static void prepare_events(uv_prepare_t *handle){  log_msg("", "--event--");  if (mainloop()->running)    return;  mainloop()->running = true;  while (1) {    queue_process_events(eventq(), TIMEOUT);    queue_process_events(drawq(),  TIMEOUT);    if (!mainloop_busy()) {      uv_prepare_stop(handle);      break;    }    else {      uv_run(eventloop(), UV_RUN_NOWAIT);    }  }  mainloop()->running = false;}
开发者ID:jollywho,项目名称:nav,代码行数:21,


示例12: tun_start

inttun_start(struct tundev *tun) {    uv_loop_t *loop = uv_default_loop();    struct tundev_context *ctx = tun->contexts;    tcp_client_start(ctx, loop);    uv_poll_init(loop, &ctx->watcher, ctx->tunfd);    uv_poll_start(&ctx->watcher, UV_READABLE, poll_cb);#ifndef ANDROID        signal_install(loop, signal_cb, tun);#endif    uv_run(loop, UV_RUN_DEFAULT);    loop_close(loop);     return 0;}
开发者ID:yusitek,项目名称:xTun,代码行数:21,


示例13: lWarnig

        void UDPClient::send(std::string address, int port, std::string data) {            if (data.size() > 65000) {                //std::cerr << "Data size bigger than 65KB" << std::endl;                lWarnig("Data size bigger than 65KB. dest addr: " + address + " Port: " + std::to_string(port));            }            uv_udp_send_t send_req;            uv_buf_t *bufw = (uv_buf_t *) malloc(sizeof(uv_buf_t));//alocated memory            bufw->base = (char *) malloc(data.size());//alocated memory            bufw->len = data.size();            memcpy(bufw->base, data.c_str(), data.size());            struct sockaddr *temp = networkUtility::uv_resolveAddress(&loop, address, std::to_string(port));            uv_udp_send(&send_req, &client, bufw, 1, temp, on_send);            uv_run(&loop, UV_RUN_DEFAULT);            free(bufw->base);            free(bufw);            free(temp);        }
开发者ID:zeitoonco,项目名称:zds,代码行数:21,


示例14: main

int main(){    uv_loop_t* loop = malloc(sizeof(uv_loop_t));    uv_loop_init(loop);    uv_signal_t sigInt;    uv_signal_init(loop, &sigInt);    uv_signal_start(&sigInt, sigIntClbk, SIGINT);    uv_signal_t sigTstp;    uv_signal_init(loop, &sigTstp);    uv_signal_start(&sigTstp, sigTstpClbk, SIGTSTP);    uv_run(loop, UV_RUN_DEFAULT);    uv_loop_close(loop);    free(loop);    //printf("Out...");    return 0;}
开发者ID:smart--petea,项目名称:learning-libuv,代码行数:21,


示例15: main

int main(int argc, char **argv){  uv_loop_t *loop = uv_default_loop();  uv_tcp_t server;  int e;  struct sockaddr_in addr;  uv_tcp_init(loop, &server);  addr = uv_ip4_addr("0.0.0.0", 4434);  uv_tcp_bind(&server, addr);  e = uv_listen((uv_stream_t *)&server, 5, on_connection);  if (e < 0) {    fprintf(stderr, "Listen error: %s/n",             uv_strerror(uv_last_error(loop)));    return 1;  }  uv_run(loop, UV_RUN_DEFAULT);  return 0;}
开发者ID:hrautila,项目名称:glme,代码行数:21,


示例16: cs_run

/**   cs_run : start the cspider**/int cs_run(cspider_t *cspider) {  if (cspider->process == NULL) {    printf("warn : need to init process function(use cs_setopt_process)/n");    return 0;  }  if (cspider->save == NULL) {    printf("warn : need to init data persistence function(use cs_setopt_save)/n");    return 0;  }  /*    set the threadpool's size by setenv()   */  char threadpool_size[4] = {0};  snprintf(threadpool_size, sizeof(threadpool_size), "%d", cspider->threadpool_size);  setenv("UV_THREADPOOL_SIZE", threadpool_size, 1);    uv_prepare_init(cspider->loop, cspider->idler);  uv_prepare_start(cspider->idler, watcher);    return uv_run(cspider->loop, UV_RUN_DEFAULT);}
开发者ID:mitghi,项目名称:CSpider,代码行数:24,


示例17: jl_printf

jl_value_t *jl_load(const char *fname){    if (jl_current_module == jl_base_module) {        //This deliberatly uses ios, because stdio initialization has been moved to Julia        jl_printf(JL_STDOUT, "%s/r/n", fname);#ifdef _OS_WINDOWS_        uv_run(uv_default_loop(), (uv_run_mode)1);#endif    }    char *fpath = (char*)fname;    uv_stat_t stbuf;    if (jl_stat(fpath, (char*)&stbuf) != 0 || (stbuf.st_mode & S_IFMT) != S_IFREG) {        jl_errorf("could not open file %s", fpath);    }    if (jl_start_parsing_file(fpath) != 0) {        jl_errorf("could not open file %s", fpath);    }    jl_value_t *result = jl_parse_eval_all(fpath);    if (fpath != fname) free(fpath);    return result;}
开发者ID:JonathanGallagher,项目名称:julia,代码行数:21,


示例18: socket_accept

static MVMObject * socket_accept(MVMThreadContext *tc, MVMOSHandle *h) {    MVMIOSyncSocketData *data = (MVMIOSyncSocketData *)h->body.data;    while (!data->accept_server) {        if (tc->loop != data->ss.handle->loop) {            MVM_exception_throw_adhoc(tc, "Tried to accept() on a socket from outside its originating thread");        }        uv_ref((uv_handle_t *)data->ss.handle);        MVM_gc_mark_thread_blocked(tc);        uv_run(tc->loop, UV_RUN_DEFAULT);        MVM_gc_mark_thread_unblocked(tc);    }    /* Check the accept worked out. */    if (data->accept_status < 0) {        MVM_exception_throw_adhoc(tc, "Failed to listen: unknown error");    }    else {        uv_tcp_t *client    = MVM_malloc(sizeof(uv_tcp_t));        uv_stream_t *server = data->accept_server;        int r;        uv_tcp_init(tc->loop, client);        data->accept_server = NULL;        if ((r = uv_accept(server, (uv_stream_t *)client)) == 0) {            MVMOSHandle         * const result = (MVMOSHandle *)MVM_repr_alloc_init(tc, tc->instance->boot_types.BOOTIO);            MVMIOSyncSocketData * const data   = MVM_calloc(1, sizeof(MVMIOSyncSocketData));            data->ss.handle   = (uv_stream_t *)client;            data->ss.encoding = MVM_encoding_type_utf8;            MVM_string_decode_stream_sep_default(tc, &(data->ss.sep_spec));            result->body.ops  = &op_table;            result->body.data = data;            return (MVMObject *)result;        }        else {            uv_close((uv_handle_t*)client, NULL);            MVM_free(client);            MVM_exception_throw_adhoc(tc, "Failed to accept: %s", uv_strerror(r));        }    }}
开发者ID:stmuk,项目名称:MoarVM,代码行数:40,


示例19: DEBUG_OUT

/** * shut down uv and cleanup ... and should be the first thing we do when exitting * this closes all current connections to uv. if we have multiple instances of the client, that will close their io */voidUVEventLoop::ForceStopAndClose(){	DEBUG_OUT("UVEventLoop::~UVEventLoop()");	StopUVRunner(true, true); // wait till we are definitely out of harms way	for (auto it : resolvers) {		it->disposed = true;	}	DEBUG_OUT(readers.size() << " readers");	for (auto it : readers) {		uv_handle_t *h = (uv_handle_t*)it->client->socket;		if (uv_is_active(h)) uv_close(h, nullptr);		it->disposed = true;	}	DEBUG_OUT(readers.size() << " writers");	for (auto it : writers) {		uv_handle_t *h = (uv_handle_t*)it->client->socket;		if (uv_is_active(h)) uv_close(h, nullptr);		it->disposed = true;	}	DEBUG_OUT(readers.size() << " closers ");	for (auto it : closers) {		uv_handle_t *h = (uv_handle_t*)it->client->socket;		if (uv_is_active(h)) uv_close(h, nullptr);		it->disposed = true;	}	for (auto it : scheduledTimers) { // won't have been called		it->disposed = true;	}	DEBUG_OUT(readers.size() << " timers ");	for (auto it : activeTimers) {		uv_handle_t *h = (uv_handle_t*)&it->timer;		if (uv_is_active(h)) uv_close(h, nullptr);	}	for (auto it : activeWorkers) { // doesn't get closed		it->disposed = true;	}	uv_run(loop, UV_RUN_DEFAULT);	HandleRunnerQueues(); // do the actual cleanup}
开发者ID:dakyri,项目名称:unionclient,代码行数:44,


示例20: server_run

int server_run(const char* hostaddr, const int port)	//运行服务{  int r;  struct sockaddr_in addr;  loop = uv_default_loop();	  addr = uv_ip4_addr(hostaddr, port);	//创建套接字地址  r = uv_tcp_init(loop, &tcpServer);	//初始化服务handler创建套接字  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Socket creation error/n");    return 1;  }  r = uv_tcp_bind(&tcpServer, addr);	//绑定套接字地址  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Bind error/n");    return 1;  }  r = uv_listen((uv_stream_t*)&tcpServer, M_SOMAXCONN, on_connection);	//监听端口    if (r) {    /* TODO: Error codes */    fprintf(stderr, "Listen error %s/n",        uv_err_name(uv_last_error(loop)));    return 1;  }  Py_BEGIN_ALLOW_THREADS  uv_run(loop);  Py_END_ALLOW_THREADS#if WANT_SIGINT_HANDLING//  ev_signal signal_watcher;//  ev_signal_init(&signal_watcher, ev_signal_on_sigint, SIGINT);//  ev_signal_start(mainloop, &signal_watcher);#endif  return 0;}
开发者ID:SongJLG,项目名称:johan-doc,代码行数:40,


示例21: main

int main(){    uv_loop_t *loop = uv_default_loop();    int ng = tls_engine_inhale( "server-cert.pem", "server-key.pem", 0);    assert(ng == 0);    uv_tls_t *server = (uv_tls_t*)malloc(sizeof *server);    if(uv_tls_init(loop, server) < 0) {        free(server);        server = 0;        fprintf( stderr, "TLS setup error/n");        return  -1;    }    const int port = 8000;    struct sockaddr_in bind_addr;    int r = uv_ip4_addr("0.0.0.0", port, &bind_addr);    assert(!r);    r = uv_tcp_bind(&(server->socket_), (struct sockaddr*)&bind_addr, 0);    if( r ) {        fprintf( stderr, "bind: %s/n", uv_strerror(r));    }    int rv = uv_tls_listen(server, 128, on_connect_cb);    if( rv ) {        fprintf( stderr, "listen: %s/n", uv_strerror(rv));    }    printf("Listening on %d/n", port);    uv_run(loop, UV_RUN_DEFAULT);    tls_engine_stop();        free (server);    server = 0;    return 0;}
开发者ID:cxuhua,项目名称:libuv-tls,代码行数:40,


示例22: main

int main() {    uv_idle_t idler;    uv_loop_t *loop = uv_default_loop();    // 初始化 idle handle    uv_idle_init(loop, &idler);    // 启用 idle handle 并传入回调    uv_idle_start(&idler, wait_for_a_while);    printf("Idling... /n");    // ==========================================    // http://docs.libuv.org/en/v1.x/loop.html    // ==========================================    // int uv_run(uv_loop_t* loop, uv_run_mode mode)    // This function runs the event loop. It will act differently depending on the specified mode:    // UV_RUN_DEFAULT: Runs the event loop until there are no more active and referenced handles or requests.    // Returns non-zero if uv_stop() was called and there are still active handles or requests. Returns zero in all other cases.    //    // UV_RUN_ONCE: Poll for i/o once. Note that this function blocks if there are no pending callbacks.    // Returns zero when done (no active handles or requests left), or non-zero if more callbacks    // are expected (meaning you should run the event loop again sometime in the future).    //    // UV_RUN_NOWAIT: Poll for i/o once but don’t block if there are no pending callbacks.    // Returns zero if done (no active handles or requests left), or non-zero if more callbacks    // are expected (meaning you should run the event loop again sometime in the future).    // 开始轮询,直到该loop中没有活动的引用    // 在此例中,当uv_idle_stop(handle)调用后,所有的活动执行完成    // 此时将会停止loop    uv_run(loop, UV_RUN_DEFAULT);    // 关闭轮询    // Releases all internal loop resources.    uv_loop_close(loop);    return 0;}
开发者ID:CoinXu,项目名称:libuv-example,代码行数:40,


示例23: main

int main(int argc, char *argv[]){    if (argc <= 1) {        fprintf(stderr, "Usage: %s <file1> [file2 ...]/n", argv[0]);        return 1;    }    //const char *command = argv[1];    for (int i = 1; i < argc; ++i) {        fprintf(stderr, "Adding watch on %s/n", argv[i]);        uv_fs_event_t *fs_event = (uv_fs_event_t*)malloc(sizeof(uv_fs_event_t));        int r = uv_fs_event_init(uv_default_loop(), fs_event);        assert(r == 0);        r = uv_fs_event_start(fs_event, OnChange, argv[i], 0);        assert(r == 0);    }    uv_run(uv_default_loop(), UV_RUN_DEFAULT);    return 0;}
开发者ID:vxzhong,项目名称:Learn,代码行数:22,


示例24: main

int main(int argc, char **argv){    struct addrinfo hints;    int err;    uv_getaddrinfo_t getaddrinfo_req;    if (argc != 2)    {        printf("UNKNOWN args/n");        return 1;    }    memset(&hints, 0, sizeof(hints));    hints.ai_family = AF_UNSPEC;    hints.ai_socktype = SOCK_STREAM;    hints.ai_protocol = IPPROTO_TCP;    err = uv_getaddrinfo(uv_default_loop(),                         &getaddrinfo_req,                         address_cb,                         argv[1],                         NULL,                         &hints);    if (err != 0)    {        printf("getaddrinfo: %s", uv_strerror(err));        return err;    }    /* Start the event loop.  Control continues in do_bind(). */    if (uv_run(uv_default_loop(), UV_RUN_DEFAULT))    {        abort();    }    /* Please Valgrind. */    uv_loop_delete(uv_default_loop());    return 0;}
开发者ID:ChangerR,项目名称:CppUtils,代码行数:39,


示例25: h2o_context_dispose

void h2o_context_dispose(h2o_context_t *ctx){    h2o_globalconf_t *config = ctx->globalconf;    size_t i, j;    for (i = 0; i != config->hosts.size; ++i) {        h2o_hostconf_t *hostconf = config->hosts.entries + i;        for (j = 0; j != hostconf->paths.size; ++j) {            h2o_pathconf_t *pathconf = hostconf->paths.entries + i;            on_context_dispose(ctx, pathconf);        }    }    free(ctx->_module_configs);    h2o_timeout_dispose(ctx->loop, &ctx->zero_timeout);    h2o_timeout_dispose(ctx->loop, &ctx->http1.req_timeout);    h2o_timeout_dispose(ctx->loop, &ctx->http2.idle_timeout);#if H2O_USE_LIBUV    /* make sure the handles released by h2o_timeout_dispose get freed */    uv_run(ctx->loop, UV_RUN_NOWAIT);#endif}
开发者ID:bowlofstew,项目名称:h2o,代码行数:22,


示例26: luv_run

static int luv_run(lua_State* L){    int r = 0;    int args = lua_gettop(L);    uv_run_mode mode = UV_RUN_DEFAULT;    assert(args >= 0 && args <= 1);    if (args == 1)    {        const char* smode = luaL_checkstring(L, 1);        if (strcmp(smode, "once") == 0)        {            mode = UV_RUN_ONCE;        }        else if (strcmp(smode, "nowait") == 0)        {            mode = UV_RUN_NOWAIT;        }    }    r = uv_run(luv_get_loop(L), mode);    lua_pushinteger(L, r);    return 1;}
开发者ID:zhangjinde,项目名称:myuv,代码行数:22,


示例27: MVM_tc_destroy

/* Destroys a given thread context. This will also free the nursery. * This means that it must no longer be in use, at all; this can be * ensured by a GC run at thread exit that forces evacuation of all * objects from this nursery to the second generation. Only after * that is true should this be called. */void MVM_tc_destroy(MVMThreadContext *tc) {    /* We run once again (non-blocking) to eventually close filehandles. */    uv_run(tc->loop, UV_RUN_NOWAIT);    /* Free the nursery and finalization queue. */    MVM_free(tc->nursery_fromspace);    MVM_free(tc->nursery_tospace);    MVM_free(tc->finalizing);    /* Destroy the second generation allocator. */    MVM_gc_gen2_destroy(tc->instance, tc->gen2);    /* Destroy all callstack regions. */    MVM_callstack_region_destroy_all(tc);    /* Free the thread-specific storage */    MVM_free(tc->gc_work);    MVM_free(tc->temproots);    MVM_free(tc->gen2roots);    MVM_free(tc->finalize);    /* Free any memory allocated for NFAs and multi-dim indices. */    MVM_free(tc->nfa_done);    MVM_free(tc->nfa_curst);    MVM_free(tc->nfa_nextst);    MVM_free(tc->nfa_fates);    MVM_free(tc->nfa_longlit);    MVM_free(tc->multi_dim_indices);    /* Free per-thread lexotic cache. */    MVM_free(tc->lexotic_cache);    /* Destroy the libuv event loop */    uv_loop_delete(tc->loop);    /* Free the thread context itself. */    memset(tc, 0, sizeof(MVMThreadContext));    MVM_free(tc);}
开发者ID:niner,项目名称:MoarVM,代码行数:44,


示例28: server_run

int server_run(const server_config *cf, uv_loop_t *loop) {  struct addrinfo hints;  server_state state;  int err;  memset(&state, 0, sizeof(state));  state.servers = NULL;  state.config = *cf;  state.loop = loop;  /* Resolve the address of the interface that we should bind to.   * The getaddrinfo callback starts the server and everything else.   */  memset(&hints, 0, sizeof(hints));  hints.ai_family = AF_UNSPEC;  hints.ai_socktype = SOCK_STREAM;  hints.ai_protocol = IPPROTO_TCP;  err = uv_getaddrinfo(loop,                       &state.getaddrinfo_req,                       do_bind,                       cf->bind_host,                       NULL,                       &hints);  if (err != 0) {    pr_err("getaddrinfo: %s", uv_strerror(err));    return err;  }  /* Start the event loop.  Control continues in do_bind(). */  if (uv_run(loop, UV_RUN_DEFAULT)) {    abort();  }  /* Please Valgrind. */  uv_loop_delete(loop);  free(state.servers);  return 0;}
开发者ID:sjw7453584,项目名称:Server,代码行数:39,


示例29: ipc_send_recv_helper

/* stdin is a duplex channel over which a handle is sent. * We receive it and send it back where it came from. */int ipc_send_recv_helper(void) {  int r;  memset(&ctx, 0, sizeof(ctx));  r = uv_pipe_init(uv_default_loop(), &ctx.channel, 1);  ASSERT(r == 0);  uv_pipe_open(&ctx.channel, 0);  ASSERT(1 == uv_is_readable((uv_stream_t*)&ctx.channel));  ASSERT(1 == uv_is_writable((uv_stream_t*)&ctx.channel));  ASSERT(0 == uv_is_closing((uv_handle_t*)&ctx.channel));  r = uv_read2_start((uv_stream_t*)&ctx.channel, alloc_cb, read2_cb);  ASSERT(r == 0);  r = uv_run(uv_default_loop(), UV_RUN_DEFAULT);  ASSERT(r == 0);  MAKE_VALGRIND_HAPPY();  return 0;}
开发者ID:4T-Shirt,项目名称:node,代码行数:25,


示例30: main

int main() {    loop = uv_default_loop();    char* args[3];    args[0] = "sleep";    args[1] = "100";    args[2] = NULL;    options.exit_cb = NULL;    options.file = "sleep";    options.args = args;    options.flags = UV_PROCESS_DETACHED;    if (uv_spawn(loop, &child_req, options)) {        fprintf(stderr, "%s/n", uv_strerror(uv_last_error(loop)));        return 1;    }    fprintf(stderr, "Launched sleep with PID %d/n", child_req.pid);    uv_unref((uv_handle_t*) &child_req);    return uv_run(loop, UV_RUN_DEFAULT);}
开发者ID:343829084,项目名称:uvbook,代码行数:22,



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


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