A complete Linux application software development tool library and runtime framework, aim at make C++ development easy. - opt(event):1.10.3, 添加Loop::cleanup()方法,用于手动清扫未完成委托的任务 · cpp-main/cpp-tbox@355c802
void EpollFdEvent::onEvent(short events) { /** * 由于EPOLLHUP会一直触发,所以无论事件有没有监听HupEvent,只要发生了EPOLLHUB事件, * 对应fd所有的事件都要强制disable()。否则会导致Loop空跑问题。 */ if (events & kHupEvent) disable(); if (events_ & events) { if (is_stop_after_trigger_)...
1. 这里没有多线程,适用于单线程事件循环(event loop)实现的多任务。一般main函数最后就在运行事件循环。所以then回调函数之前,函数可以跑完,线程在主函数里运行着。 2. 异常会背捕获,传到下一级then参数里的第二个函数,这个和js的promise规则一样。 3. 写异步回调有多麻烦,这种then就有多可爱。 2018-08-25...
} EVENT_LOGD("end"); return true; } Remote的代码如下所示:收起 深色代码主题 复制 PeerHolder::PeerHolder(const sptr<IRemoteObject> &object) : remoteObject_(object) {} sptr<IRemoteObject> PeerHolder::Remote() { return remoteObject_; }继续...
asynchronous app 自己就能 handle 并发请求,这意味着它们直接在 event loop 中接受请求,而并不通过 threads_pool。下面一段代码显示了一个 asynchronous app 的例子。 1 2 3 4 5 6 7 8 9 10 try{ cppcms::service service (argc,argv); booster::intrusive_ptr<chat> c =newchat (service);...
(this=0xlb21580, socket_=<optimized out>) at src/reapercpp:133#6 0x000000000004ele7c in zmq::reaper_t::in_event (this=0x21b21580) at src/reaper.cpp:104#7 0x00000000004d508e in zmq::epoll_t::loop (this=0x1b255520) at src/epoll.cpp:206#8 0x00000000004f0d45 in thread_routine ...
cmake_minimum_required(VERSION3.10)project(tbox-find_package)find_package(tboxCOMPONENTSbase util alarm event eventx)add_executable(demo main.cpp)target_link_libraries(demoPRIVATEtbox::tbox_base tbox::tbox_util tbox::tbox_alarm tbox::tbox_event tbox::tbox_eventx) ...
Thread::setThreadName("SMS-main"); string configPath = "./server.json"; for (int i = 0; i < argc; ++i) { if (!strcmp(argv[i], "-c")) { configPath = argv[++i]; } } // 多线程开启epoll EventLoopPool::instance()->init(0, true, true); ...
#6 0x000000000004ele7c in zmq::reaper_t::in_event (this=0x21b21580) at src/reaper.cpp:104 #7 0x00000000004d508e in zmq::epoll_t::loop (this=0x1b255520) at src/epoll.cpp:206 #8 0x00000000004f0d45 in thread_routine (arg_=0x1b255778) at src/thread.cpp:257 ...
#include "hmain.h" // import master_workers_run #include "herr.h" #include "hlog.h" #include "htime.h" #include "EventLoop.h" using namespace hv; #include "HttpHandler.h" static void on_accept(hio_t* io); static void on_recv(hio_t* io, void* _buf, int readbytes)...