Re: [PATCH V3 1/3] monitor: Extract TTY data processing to separate function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday, 4 October 2019 07:43:32 CEST Szymon Janc wrote:
> From: Andrzej Kaczmarek <andrzej.kaczmarek@xxxxxxxxxxx>
> 
> ---
>  monitor/control.c | 37 +++++++++++++++++++++----------------
>  1 file changed, 21 insertions(+), 16 deletions(-)
> 
> diff --git a/monitor/control.c b/monitor/control.c
> index 39a413be1..4022e7644 100644
> --- a/monitor/control.c
> +++ b/monitor/control.c
> @@ -1300,23 +1300,8 @@ static bool tty_parse_header(uint8_t *hdr, uint8_t
> len, struct timeval **tv, return true;
>  }
> 
> -static void tty_callback(int fd, uint32_t events, void *user_data)
> +static void process_data(struct control_data *data)
>  {
> -	struct control_data *data = user_data;
> -	ssize_t len;
> -
> -	if (events & (EPOLLERR | EPOLLHUP)) {
> -		mainloop_remove_fd(data->fd);
> -		return;
> -	}
> -
> -	len = read(data->fd, data->buf + data->offset,
> -					sizeof(data->buf) - data-
>offset);
> -	if (len < 0)
> -		return;
> -
> -	data->offset += len;
> -
>  	while (data->offset >= sizeof(struct tty_hdr)) {
>  		struct tty_hdr *hdr = (struct tty_hdr *) data->buf;
>  		uint16_t pktlen, opcode, data_len;
> @@ -1358,6 +1343,26 @@ static void tty_callback(int fd, uint32_t events,
> void *user_data) }
>  }
> 
> +static void tty_callback(int fd, uint32_t events, void *user_data)
> +{
> +	struct control_data *data = user_data;
> +	ssize_t len;
> +
> +	if (events & (EPOLLERR | EPOLLHUP)) {
> +		mainloop_remove_fd(data->fd);
> +		return;
> +	}
> +
> +	len = read(data->fd, data->buf + data->offset,
> +					sizeof(data->buf) - data-
>offset);
> +	if (len < 0)
> +		return;
> +
> +	data->offset += len;
> +
> +	process_data(data);
> +}
> +
>  int control_tty(const char *path, unsigned int speed)
>  {
>  	struct control_data *data;


Applied.

-- 
pozdrawiam
Szymon Janc





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux