lkml.org 
[lkml]   [2018]   [Dec]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] perf python: Do not force closing original perf descriptor in evlist.get_pollfd
Em Thu, Dec 27, 2018 at 09:06:38AM +0100, Jiri Olsa escreveu:
> On Wed, Dec 26, 2018 at 12:21:21PM +0100, Jiri Olsa wrote:
> > Ondřej reported that when compiled with python3, the python
> > extension regress in evlist.get_pollfd function behaviour.
> >
> > The evlist.get_pollfd creates file objects from evlist's fds
> > and returns them in the list. The python3 version also sets
> > them to 'close the original descriptor' when the object die
> > (is closed), by passing True via 'closefd' arg in PyFile_FromFd
> > call.
> >
> > The python's closefd doc says:
> > If closefd is False, the underlying file descriptor will be kept open
> > when the file is closed.
> >
> > That's why following line in python3 closes all evlist fds:
> > evlist.get_pollfd()
> >
> > the returned list is immediately destroyed and that takes
> > down the original events fds.
> >
> > Passing closefd as False to PyFile_FromFd to fix this.
> >
> > Reported-by: Ondřej Lysoněk <olysonek@redhat.com>
> > Link: http://lkml.kernel.org/n/tip-ru9hmsaliew8p01kr0050mvg@git.kernel.org
> > Signed-off-by: Jiri Olsa <jolsa@kernel.org>
>
> oops, forgot to add.. and cc-ing Jaroslav Škarvada
>
> Fixes: 66dfdff03d19 ("perf tools: Add Python 3 support")

Thanks, added the Fixes: and Cc: Jaroslav,

- Arnaldo

\
 
 \ /
  Last update: 2018-12-27 13:55    [W:0.113 / U:1.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site