use threads instead of std::async, need to cleanup threads
This commit is contained in:
		@@ -160,6 +160,8 @@ namespace ix
 | 
			
		||||
        // Return value of std::async, ignored
 | 
			
		||||
        std::future<void> f;
 | 
			
		||||
 | 
			
		||||
        std::vector<std::thread> threads;
 | 
			
		||||
 | 
			
		||||
        for (;;)
 | 
			
		||||
        {
 | 
			
		||||
            if (_stop) return;
 | 
			
		||||
@@ -231,11 +233,15 @@ namespace ix
 | 
			
		||||
            //
 | 
			
		||||
            // the destructor of a future returned by std::async blocks,
 | 
			
		||||
            // so we need to declare it outside of this loop
 | 
			
		||||
            f = std::async(std::launch::async,
 | 
			
		||||
                           &SocketServer::handleConnection,
 | 
			
		||||
                           this,
 | 
			
		||||
                           clientFd,
 | 
			
		||||
                           connectionState);
 | 
			
		||||
            // f = std::async(std::launch::async,
 | 
			
		||||
            //                &SocketServer::handleConnection,
 | 
			
		||||
            //                this,
 | 
			
		||||
            //                clientFd,
 | 
			
		||||
            //                connectionState);
 | 
			
		||||
            threads.push_back(std::thread(&SocketServer::handleConnection,
 | 
			
		||||
                                          this,
 | 
			
		||||
                                          clientFd,
 | 
			
		||||
                                          connectionState));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user