And how can I do that? 2016-09-28 21:12 GMT+02:00 Koen Deforche <[email protected]>:
> Hey Aaron, > > That sounds like a trick, but I wouldn't mind having a proper setting > 'dispatcher-thread-pool' that's used only in dedicated process mode. If you > still care for it, can you file a feature request? > > Regards, > koen > > 2016-09-18 7:15 GMT+02:00 Aarón Bueno Villares <[email protected]>: > >> I finally did the following trick (only valid in dedicated process mode, >> of course): >> >> The wthttpd connector, when throwing a new process session, it launchs a >> new instance of the program with the option --parent-port=X at the end, and >> X being the port of the main server (as set in --http-port). The server >> knows if it is the main process or a child process checking if parent-port >> is set or not. >> >> Wt::WServer server(argc, argv, WTHTTP_CONFIGURATION); >> >> std::string arg(argv[argc - 1]); >> auto* test = "--parent-port"; >> >> // If != 0, and thus, the option is not present (as last parameter). >> if (arg.compare(0, strlen(test), test)) { >> std::string thread_count; >> server.readConfigurationProperty("thread-count", >> thread_count); // I added it as <property> in my wt_config.xml >> server.ioService().setThreadCount(std::stoi(thread_count)); >> } >> >> After launching the server and a tab with the page loaded, I checked, >> with pstree -a, how many threads I have in both the main and child >> processes, and effectively, only the thread pool of the main process >> changed. >> >> Before that trick, I tried to check if it is a parent or child process >> with WServer::httpPort(), to see to which port is the server binded to, but >> before running start(), the tcp endpoint of the parent process is not yet >> set and it crashes (gdb output): >> >> Program received signal SIGSEGV, Segmentation fault. >> http::server::Server::httpPort (this=0x0) at >> /usr/include/boost/asio/socket_acceptor_service.hpp:249 >> 249 endpoint_type local_endpoint(const implementation_type& impl, >> (gdb) back >> #0 http::server::Server::httpPort (this=0x0) at >> /usr/include/boost/asio/socket_acceptor_service.hpp:249 >> #1 0x0000000000484e55 in main (argc=11, argv=0x7fffffffe3d8) at >> main.cpp:25 >> >> >> >> >> 2016-09-16 12:09 GMT+02:00 Marco Kinski <[email protected]>: >> >>> Hi Aarón, >>> >>> > [snip] >>> > For example, if I'm afraid about make my app multithreading, I could >>> set the >>> > thread-count = 0, but that makes the main server's thread-pool 0 as >>> well, >>> > lowering the server responsiveness. >>> >>> inside wcoonfig.h is a build option to enable/disable mt-support >>> (#cmakedefine WT_THREADED). >>> I never tried it, but it sounds like what your looking for. >>> >>> regards, Marco >>> >>> ------------------------------------------------------------ >>> ------------------ >>> _______________________________________________ >>> witty-interest mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/witty-interest >>> >> >> >> ------------------------------------------------------------ >> ------------------ >> >> _______________________________________________ >> witty-interest mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/witty-interest >> >> > > ------------------------------------------------------------ > ------------------ > > _______________________________________________ > witty-interest mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/witty-interest > >
------------------------------------------------------------------------------
_______________________________________________ witty-interest mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/witty-interest
