On Tue, Oct 09, 2018 at 11:59:31AM +0300, Alexey Budankov wrote:

SNIP

> @@ -709,12 +729,13 @@ static int record__mmap_read_evlist(struct record *rec, 
> struct perf_evlist *evli
>                                       goto out;
>                               }
>                       } else {
> +                             int idx;
>                               /*
>                                * Call record__aio_sync() to wait till 
> map->data buffer
>                                * becomes available after previous aio write 
> request.
>                                */
> -                             record__aio_sync(map);
> -                             if (perf_mmap__aio_push(map, rec, 
> record__aio_pushfn, &off) != 0) {
> +                             idx = record__aio_sync(map, false);

looks like record__aio_sync can return -1,
how is it not breaking the perf_mmap__aio_push call below?

> +                             if (perf_mmap__aio_push(map, rec, idx, 
> record__aio_pushfn, &off) != 0) {
>                                       record__aio_set_pos(trace_fd, off);
>                                       rc = -1;
>                                       goto out;

SNIP

Reply via email to