lkml.org 
[lkml]   [2014]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v5 1/2] perf record: Propagate exit status of a command line workload
Date
Hi Jiri,

On Thu, 8 May 2014 12:32:25 +0200, Jiri Olsa wrote:
> On Thu, May 08, 2014 at 04:59:53PM +0900, Namhyung Kim wrote:
>
> SNIP
>
>> +
>> + if (!err && !file->is_pipe) {
>> + rec->session->header.data_size += rec->bytes_written;
>> +
>> + if (!rec->no_buildid)
>> + process_buildids(rec);
>> + perf_session__write_header(rec->session, rec->evlist,
>> + file->fd, true);
>> + }
>> +
>> + if (signr != -1) {
>> + signal(signr, SIG_DFL);
>> + raise(signr);
>> + }
>
> hum.. so we dont call perf_session__delete in case we propagate
> the signal.. also the outer function's cleanups are not called:
>
> perf_evlist__delete(rec->evlist);
> symbol__exit();
>
> the only cleanup I found that actually matters here and won't be
> called is 'vdso__exit' which removes the temp vdso library file.

Ah.. missed that.

>
> Maybe we could have one on_exit callback raising the signal
> if needed.. at the time we are sure we called all out cleanup
> functions.

Sounds like a good idea. I'll send v6.

Thanks,
Namhyung


\
 
 \ /
  Last update: 2014-05-09 02:41    [W:0.170 / U:0.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site