[tarantool-patches] Re: [PATCH 09/11] evio: refactoring

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Wed Dec 5 00:29:23 MSK 2018



On 03/12/2018 19:37, Vladimir Davydov wrote:
> On Fri, Nov 30, 2018 at 06:39:41PM +0300, Vladislav Shpilevoy wrote:
>> Remove useless, wrong and obvious comments. Correct
>> code and comment style. Reuse some code, unnecessary
>> try/catch.
>> ---
>>   src/evio.cc | 186 ++++++++++++++++++++--------------------------------
>>   src/evio.h  |  40 ++++++-----
>>   2 files changed, 89 insertions(+), 137 deletions(-)
>>
>> diff --git a/src/evio.cc b/src/evio.cc
>> index 25f699bab..166ba7f95 100644
>> --- a/src/evio.cc
>> +++ b/src/evio.cc
>> @@ -29,7 +29,6 @@
>>    * SUCH DAMAGE.
>>    */
>>   #include "evio.h"
>> -#include "uri.h"
>>   #include "scoped_guard.h"
>>   #include <stdio.h>
>>   #include <sys/socket.h>
>> @@ -41,41 +40,33 @@
>>   #include <trivia/util.h>
>>   #include "exception.h"
>>   
>> -static void
>> -evio_setsockopt_server(int fd, int family, int type);
>> -
>> -/** Note: this function does not throw. */
>>   void
>>   evio_close(ev_loop *loop, struct ev_io *evio)
>>   {
>>   	/* Stop I/O events. Safe to do even if not started. */
>>   	ev_io_stop(loop, evio);
>> -	/* Close the socket. */
>> -	close(evio->fd);
>> -	/* Make sure evio_has_fd() returns a proper value. */
>> -	evio->fd = -1;
>> +	if (evio_has_fd(evio)) {
>> +		close(evio->fd);
>> +		ev_io_set(evio, -1, 0);
>> +	}
>>   }
>>   
>> -/**
>> - * Create an endpoint for communication.
>> - * Set socket as non-block and apply protocol specific options.
>> - */
>>   void
>> -evio_socket(struct ev_io *coio, int domain, int type, int protocol)
>> +evio_socket(struct ev_io *evio, int domain, int type, int protocol)
>>   {
>> -	assert(coio->fd == -1);
>> -	coio->fd = sio_socket(domain, type, protocol);
>> -	if (coio->fd < 0)
>> +	assert(! evio_has_fd(evio));
>> +	evio->fd = sio_socket(domain, type, protocol);
>> +	if (evio->fd < 0)
>>   		diag_raise();
>> -	if (evio_setsockopt_client(coio->fd, domain, type) != 0) {
>> -		close(coio->fd);
>> -		coio->fd = -1;
>> +	if (evio_setsockopt_client(evio->fd, domain, type) != 0) {
>> +		close(evio->fd);
>> +		ev_io_set(evio, -1, 0);
>>   		diag_raise();
>>   	}
>>   }
>>   
>>   static int
>> -evio_setsockopt_keepalive(int fd)
>> +evio_setsockopt_keeping(int fd)
>>   {
>>   	int on = 1;
>>   	/*
> 
> Refactoring/renaming done by this patch looks dubious to me. It isn't
> worth polluting the history. Please drop it.
> 

As you wish. See v2.



More information about the Tarantool-patches mailing list