mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Use only send/recv in IPC
This commit is contained in:
		
							parent
							
								
									1b7bb371ee
								
							
						
					
					
						commit
						b508aac64a
					
				| @ -73,10 +73,6 @@ IPCSocket::IPCSocket(string const& _path): m_path(_path) | |||||||
| 
 | 
 | ||||||
| 	if (connect(m_socket, reinterpret_cast<struct sockaddr const*>(&saun), sizeof(struct sockaddr_un)) < 0) | 	if (connect(m_socket, reinterpret_cast<struct sockaddr const*>(&saun), sizeof(struct sockaddr_un)) < 0) | ||||||
| 		BOOST_FAIL("Error connecting to IPC socket: " << _path); | 		BOOST_FAIL("Error connecting to IPC socket: " << _path); | ||||||
| 
 |  | ||||||
| 	m_fp = fdopen(m_socket, "r"); |  | ||||||
| 	if (!m_fp) |  | ||||||
| 		BOOST_FAIL("Error opening IPC socket: " << _path); |  | ||||||
| #endif | #endif | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -113,11 +109,12 @@ string IPCSocket::sendRequest(string const& _req) | |||||||
| 
 | 
 | ||||||
| 	return returnStr; | 	return returnStr; | ||||||
| #else | #else | ||||||
| 	send(m_socket, _req.c_str(), _req.length(), 0); | 	if (send(m_socket, _req.c_str(), _req.length(), 0) != (ssize_t)_req.length()) | ||||||
|  | 		BOOST_FAIL("Writing on IPC failed"); | ||||||
| 
 | 
 | ||||||
| 	char c; | 	char c; | ||||||
| 	string response; | 	string response; | ||||||
| 	while ((c = fgetc(m_fp)) != EOF) | 	while (recv(m_socket, &c, 1, 0) == 1) | ||||||
| 	{ | 	{ | ||||||
| 		if (c != '\n') | 		if (c != '\n') | ||||||
| 			response += c; | 			response += c; | ||||||
|  | |||||||
| @ -55,12 +55,11 @@ class IPCSocket: public boost::noncopyable | |||||||
| public: | public: | ||||||
| 	IPCSocket(std::string const& _path); | 	IPCSocket(std::string const& _path); | ||||||
| 	std::string sendRequest(std::string const& _req); | 	std::string sendRequest(std::string const& _req); | ||||||
| 	~IPCSocket() { close(m_socket); fclose(m_fp); } | 	~IPCSocket() { close(m_socket); } | ||||||
| 
 | 
 | ||||||
| 	std::string const& path() const { return m_path; } | 	std::string const& path() const { return m_path; } | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
| 	FILE *m_fp; |  | ||||||
| 	std::string m_path; | 	std::string m_path; | ||||||
| 	int m_socket; | 	int m_socket; | ||||||
| }; | }; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user