Re: [lttng-dev] Wrong "ar" used when cross-building lttng
Am Freitag, 15. November 2019, 16:34:33 CET schrieb Simon Marchi: > On 2019-11-15 3:18 a.m., Rolf Eike Beer wrote: > > Simon Marchi wrote: > >> On 2019-11-14 11:24 a.m., Rolf Eike Beer wrote: > >>> I have not checked latest git, but maybe you may want to fix this > >>> warning, > >>> too? > >>> > >>> With 2.11.0 release tarball: > >>> > >>> -./configure: line 24663: test: -eq: unary operator expected > >> > >> Hmm I don't remember seeing this error, and I don't see it now. > >> > >> Could you please try with master? If it still happens, you can try to > >> find from which line of the configure.ac or an m4 file this line comes > >> from. I presume it won't be too hard to fix. > > > > Sorry, my fault. If I had looked a little closer I could have given you > > the > > > > context: > > checking for tput... /usr/bin/tput > > tput: No value for $TERM and no -T specified > > > > ./configure: line 24663: test: -eq: unary operator expected > > > > When the package is built inside our automated buildsystem these variables > > are not set because this is no interactive shell. If I build with an > > interactive shell these warnings are in fact not there. > > It still sounds like the "test" command should be improved, it should not > fail with an invalid syntax. Can you give us the relevant lines of > configure around 24663, and if possible match them to the source lines in > configure.ac and/or one of the m4 files in the m4 directory? The line in configure is this: if test -n "$PS1" && test `"$pprint_tput" colors` -eq 256 && test -t 1; then : Which seems to be one of these 3 lines from configure.ac: PPRINT_INIT PPRINT_SET_INDENT(1) PPRINT_SET_TS(38) Eike -- Rolf Eike Beer, emlix GmbH, http://www.emlix.com Fon +49 551 30664-0, Fax +49 551 30664-11 Gothaer Platz 3, 37083 Göttingen, Germany Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160 Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055 emlix - smart embedded open source signature.asc Description: This is a digitally signed message part. ___ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
[lttng-dev] [PATCH 1/2] doc: pass AR when building examples
As reported here [1], when cross-compiling lttng-ust, the "hello-static-lib" example uses the ar tool made for the --build machine instead of the prefixed one, for the --host machine. The Makefiles in the subdirectories of doc/examples are written by hand, so that they can be easily copied and modified by users. They are therefore not integrated in the automake build system, and any value detected by configure must be passed explicitly when invoking it. For example, the CC value is already explicitly passed, so that the compiler value found by configure is passed down. We just need to do the same for AR. This patch adds AM_PROG_AR in configure.ac, so that configure finds the prefixed version of ar, if cross-compiling. It then sets the AR variable in doc/examples/Makefile.am, when invoking sub-Makefiles. I don't think we really need it in the cmake case, but it doesn't hurt to have it there. [1] https://lists.lttng.org/pipermail/lttng-dev/2019-November/029388.html Reported-by: Rolf Eike Beer Signed-off-by: Simon Marchi --- configure.ac | 1 + doc/examples/Makefile.am | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 001c44289790..e07888c093fd 100644 --- a/configure.ac +++ b/configure.ac @@ -66,6 +66,7 @@ AS_IF([test "x${ax_cv_sys_weak_alias}" = "xno"], [ ]) # Checks for programs. +AM_PROG_AR AC_PROG_SED AC_PROG_GREP AC_PROG_LN_S diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index d5d00b090c61..2f9811ea4f9b 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -123,7 +123,7 @@ all-local: rel_build_subdir="../"; \ fi; \ for subdir in $(SUBDIRS_PROXY); do \ - (cd $$subdir && $(MAKE) CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" AM_CPPFLAGS="$(AM_CPPFLAGS) -I$$rel_src_subdir$(top_srcdir)/include/ -I$$rel_build_subdir$(top_builddir)/include/" CFLAGS='$(CFLAGS)' AM_CFLAGS='$(AM_CFLAGS)' LDFLAGS="$(LDFLAGS)" AM_LDFLAGS='$(AM_LDFLAGS) -L../../../liblttng-ust/.libs -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../liblttng-ust/.libs/"' LTTNG_GEN_TP_PATH="../../../tools/" AM_V_P="$(AM_V_P)" AM_V_at="$(AM_V_at)" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ + (cd $$subdir && $(MAKE) AR="$(AR)" CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" AM_CPPFLAGS="$(AM_CPPFLAGS) -I$$rel_src_subdir$(top_srcdir)/include/ -I$$rel_build_subdir$(top_builddir)/include/" CFLAGS='$(CFLAGS)' AM_CFLAGS='$(AM_CFLAGS)' LDFLAGS="$(LDFLAGS)" AM_LDFLAGS='$(AM_LDFLAGS) -L../../../liblttng-ust/.libs -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../liblttng-ust/.libs/"' LTTNG_GEN_TP_PATH="../../../tools/" AM_V_P="$(AM_V_P)" AM_V_at="$(AM_V_at)" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ done; \ if [ x"$(SUBDIRS_JUL)" != x"" ]; then \ for subdir in $(SUBDIRS_JUL); do \ @@ -141,6 +141,7 @@ all-local: cd $$subdir && \ $(MKDIR_P) build && \ cd build && \ + AR="$(AR)" \ CC="$(CC)" \ CXX="$(CXX)" \ cmake \ -- 2.24.0 ___ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
[lttng-dev] [PATCH 2/2] doc: reformat long lines in doc/examples/Makefile.am
Format the long lines in the all-local target a bit like the "cmake" target is formatted already. I think it helps readability to have one argument per line instead of very long lines. At the same time, I removed the "cd .." at the end of parentheses. The parentheses start a new subshell, so it's unnecessary to do "cd .." before the subshell exits. I'm not too sure what's the best way to indent it, feel free to modify it before changing the patch. Signed-off-by: Simon Marchi --- doc/examples/Makefile.am | 56 ++-- 1 file changed, 42 insertions(+), 14 deletions(-) diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index 2f9811ea4f9b..dc37489687e2 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -123,16 +123,45 @@ all-local: rel_build_subdir="../"; \ fi; \ for subdir in $(SUBDIRS_PROXY); do \ - (cd $$subdir && $(MAKE) AR="$(AR)" CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" AM_CPPFLAGS="$(AM_CPPFLAGS) -I$$rel_src_subdir$(top_srcdir)/include/ -I$$rel_build_subdir$(top_builddir)/include/" CFLAGS='$(CFLAGS)' AM_CFLAGS='$(AM_CFLAGS)' LDFLAGS="$(LDFLAGS)" AM_LDFLAGS='$(AM_LDFLAGS) -L../../../liblttng-ust/.libs -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../liblttng-ust/.libs/"' LTTNG_GEN_TP_PATH="../../../tools/" AM_V_P="$(AM_V_P)" AM_V_at="$(AM_V_at)" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ + ( \ + cd $$subdir && \ + $(MAKE) all \ + AR="$(AR)" \ + CC="$(CC)" \ + CPPFLAGS="$(CPPFLAGS)" \ + AM_CPPFLAGS="$(AM_CPPFLAGS) \ + -I$$rel_src_subdir$(top_srcdir)/include/ \ + -I$$rel_build_subdir$(top_builddir)/include/" \ + CFLAGS='$(CFLAGS)' \ + AM_CFLAGS='$(AM_CFLAGS)' \ + LDFLAGS="$(LDFLAGS)" \ + AM_LDFLAGS='$(AM_LDFLAGS) -L../../../liblttng-ust/.libs -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../liblttng-ust/.libs/"' \ + LTTNG_GEN_TP_PATH="../../../tools/" \ + AM_V_P="$(AM_V_P)" \ + AM_V_at="$(AM_V_at)" \ + $(AM_MAKEFLAGS) \ + ) || exit 1; \ done; \ if [ x"$(SUBDIRS_JUL)" != x"" ]; then \ for subdir in $(SUBDIRS_JUL); do \ - (cd $$subdir && $(MAKE) JAVA_CLASSPATH_OVERRIDE_JUL="../../../liblttng-ust-java-agent/java/lttng-ust-agent-jul" JAVA_CLASSPATH_OVERRIDE_COMMON="../../../liblttng-ust-java-agent/java/lttng-ust-agent-common" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ + ( \ + cd $$subdir && \ + $(MAKE) all \ + JAVA_CLASSPATH_OVERRIDE_JUL="../../../liblttng-ust-java-agent/java/lttng-ust-agent-jul" \ + JAVA_CLASSPATH_OVERRIDE_COMMON="../../../liblttng-ust-java-agent/java/lttng-ust-agent-common" \ + $(AM_MAKEFLAGS) \ + ) || exit 1; \ done; \ fi; \ if [ x"$(SUBDIRS_LOG4J)" != x"" ]; then \ for subdir in $(SUBDIRS_LOG4J); do \ - (cd $$subdir && $(MAKE) JAVA_CLASSPATH_OVERRIDE_LOG4J="../../../liblttng-ust-java-agent/java/lttng-ust-agent-log4j" JAVA_CLASSPATH_OVERRIDE_COMMON="../../../liblttng-ust-java-agent/java/lttng-ust-agent-common" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ + ( \ + cd $$subdir && \ + $(MAKE) all \ + JAVA_CLASSPATH_OVERRIDE_LOG4J="../../../liblttng-ust-java-agent/java/lttng-ust-agent-log4j" \ + JAVA_CLASSPATH_OVERRIDE_COMMON="../../../liblttng-ust-java-agent/java/lttng-ust-agent-common" \ + $(AM_MAKEFLAGS) \ + ) || exit 1; \ done; \ fi; \ if [ x"$(SUBDIRS_CMAKE)" != x"" ]; then \ @@ -142,17 +171,16 @@ all-local: $(MKDIR_P) build && \ cd build && \ AR="$(AR)" \ - CC="$(CC)" \ - CXX="$(CXX)" \ - cmake \ - -DCMAKE_INCLUDE_PATH="$(abs_top_srcdir)/include;$(abs_top_builddir)/include" \ - -DCMAKE_LIBRARY_PATH="$(abs_top_builddir)/liblttng-ust/.libs" \ - -DCMAKE_C_FLAGS="$(AM_
Re: [lttng-dev] [PATCH 1/2] doc: pass AR when building examples
Both patches merged into lttng-ust master branch (only). If you need those backported, please submit separate patches for stable branches, as those do not apply cleanly because the following commit is in master but not in stable branches: commit dc5af9e3311ab28f2728f540f06e61add9d7b5eb Author: Michael Jeanson Date: Thu Dec 20 15:22:42 2018 -0500 Add silent mode to examples Makefiles Thanks, Mathieu - On Nov 18, 2019, at 12:07 PM, Simon Marchi simon.mar...@efficios.com wrote: > As reported here [1], when cross-compiling lttng-ust, the > "hello-static-lib" example uses the ar tool made for the --build machine > instead of the prefixed one, for the --host machine. > > The Makefiles in the subdirectories of doc/examples are written by hand, > so that they can be easily copied and modified by users. They are > therefore not integrated in the automake build system, and any value > detected by configure must be passed explicitly when invoking it. > For example, the CC value is already explicitly passed, so that the > compiler value found by configure is passed down. We just need to do > the same for AR. > > This patch adds AM_PROG_AR in configure.ac, so that configure finds the > prefixed version of ar, if cross-compiling. > > It then sets the AR variable in doc/examples/Makefile.am, when invoking > sub-Makefiles. I don't think we really need it in the cmake case, but > it doesn't hurt to have it there. > > [1] https://lists.lttng.org/pipermail/lttng-dev/2019-November/029388.html > > Reported-by: Rolf Eike Beer > Signed-off-by: Simon Marchi > --- > configure.ac | 1 + > doc/examples/Makefile.am | 3 ++- > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/configure.ac b/configure.ac > index 001c44289790..e07888c093fd 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -66,6 +66,7 @@ AS_IF([test "x${ax_cv_sys_weak_alias}" = "xno"], [ > ]) > > # Checks for programs. > +AM_PROG_AR > AC_PROG_SED > AC_PROG_GREP > AC_PROG_LN_S > diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am > index d5d00b090c61..2f9811ea4f9b 100644 > --- a/doc/examples/Makefile.am > +++ b/doc/examples/Makefile.am > @@ -123,7 +123,7 @@ all-local: > rel_build_subdir="../"; \ > fi; \ > for subdir in $(SUBDIRS_PROXY); do \ > - (cd $$subdir && $(MAKE) CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" > AM_CPPFLAGS="$(AM_CPPFLAGS) -I$$rel_src_subdir$(top_srcdir)/include/ > -I$$rel_build_subdir$(top_builddir)/include/" CFLAGS='$(CFLAGS)' > AM_CFLAGS='$(AM_CFLAGS)' LDFLAGS="$(LDFLAGS)" AM_LDFLAGS='$(AM_LDFLAGS) > -L../../../liblttng-ust/.libs -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/" > -Wl,-rpath-link="$(PWD)/../../liblttng-ust/.libs/"' > LTTNG_GEN_TP_PATH="../../../tools/" AM_V_P="$(AM_V_P)" AM_V_at="$(AM_V_at)" > $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ > + (cd $$subdir && $(MAKE) AR="$(AR)" CC="$(CC)" > CPPFLAGS="$(CPPFLAGS)" > AM_CPPFLAGS="$(AM_CPPFLAGS) -I$$rel_src_subdir$(top_srcdir)/include/ > -I$$rel_build_subdir$(top_builddir)/include/" CFLAGS='$(CFLAGS)' > AM_CFLAGS='$(AM_CFLAGS)' LDFLAGS="$(LDFLAGS)" AM_LDFLAGS='$(AM_LDFLAGS) > -L../../../liblttng-ust/.libs -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/" > -Wl,-rpath-link="$(PWD)/../../liblttng-ust/.libs/"' > LTTNG_GEN_TP_PATH="../../../tools/" AM_V_P="$(AM_V_P)" AM_V_at="$(AM_V_at)" > $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ > done; \ > if [ x"$(SUBDIRS_JUL)" != x"" ]; then \ > for subdir in $(SUBDIRS_JUL); do \ > @@ -141,6 +141,7 @@ all-local: > cd $$subdir && \ > $(MKDIR_P) build && \ > cd build && \ > + AR="$(AR)" \ > CC="$(CC)" \ > CXX="$(CXX)" \ > cmake \ > -- > 2.24.0 > > ___ > lttng-dev mailing list > lttng-dev@lists.lttng.org > https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com ___ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
Re: [lttng-dev] [PATCH 1/2] doc: pass AR when building examples
On 2019-11-18 12:15 p.m., Mathieu Desnoyers wrote: > Both patches merged into lttng-ust master branch (only). > > If you need those backported, please submit separate patches for stable > branches, as those do not apply cleanly because the following commit is > in master but not in stable branches: > > commit dc5af9e3311ab28f2728f540f06e61add9d7b5eb > Author: Michael Jeanson > Date: Thu Dec 20 15:22:42 2018 -0500 > > Add silent mode to examples Makefiles > > Thanks, > > Mathieu Thanks. I don't think this is really needed in the stable branches, as it's a really minor change in the examples. Simon ___ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
[lttng-dev] [PATCH lttng-ust] doc: fix build failure due to wrong whitespace character
The previous, commit: 54435b75df4c ("doc: reformat long lines in doc/examples/Makefile.am") introduced the following build failure, when the support for JUL is enabled: make[1]: Entering directory '/home/smarchi/build/lttng-ust/doc/examples/java-jul' javac -classpath "../../../liblttng-ust-java-agent/java/lttng-ust-agent-jul/lttng-ust-agent-jul.jar:../../../liblttng-ust-java-agent/java/lttng-ust-agent-common/lttng-ust-agent-common.jar:." -g Hello.java javac -classpath "../../../liblttng-ust-java-agent/java/lttng-ust-agent-jul/lttng-ust-agent-jul.jar:../../../liblttng-ust-java-agent/java/lttng-ust-agent-common/lttng-ust-agent-common.jar:." -g FilterChangeListenerExample.java javac -classpath "../../../liblttng-ust-java-agent/java/lttng-ust-agent-jul/lttng-ust-agent-jul.jar:../../../liblttng-ust-java-agent/java/lttng-ust-agent-common/lttng-ust-agent-common.jar:." -g ApplicationContextExample.java make[1]: *** No rule to make target ' '. Stop. make[1]: Leaving directory '/home/smarchi/build/lttng-ust/doc/examples/java-jul' Makefile:979: recipe for target 'all-local' failed make: *** [all-local] Error 1 I inadvertently inserted a character that looks like a space, but that is not a space. make tries to interpret it as a target name, which obviously fails. Replace it with a proper space. Signed-off-by: Simon Marchi --- doc/examples/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index dc37489687e2..2ba8cd89462a 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -149,7 +149,7 @@ all-local: $(MAKE) all \ JAVA_CLASSPATH_OVERRIDE_JUL="../../../liblttng-ust-java-agent/java/lttng-ust-agent-jul" \ JAVA_CLASSPATH_OVERRIDE_COMMON="../../../liblttng-ust-java-agent/java/lttng-ust-agent-common" \ - $(AM_MAKEFLAGS) \ + $(AM_MAKEFLAGS) \ ) || exit 1; \ done; \ fi; \ -- 2.24.0 ___ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
Re: [lttng-dev] [PATCH lttng-ust] doc: fix build failure due to wrong whitespace character
Merged into lttng-ust master, thanks! Mathieu - On Nov 18, 2019, at 1:44 PM, Simon Marchi simon.mar...@efficios.com wrote: > The previous, commit: > >54435b75df4c ("doc: reformat long lines in doc/examples/Makefile.am") > > introduced the following build failure, when the support for JUL is > enabled: > >make[1]: Entering directory >'/home/smarchi/build/lttng-ust/doc/examples/java-jul' >javac -classpath > > "../../../liblttng-ust-java-agent/java/lttng-ust-agent-jul/lttng-ust-agent-jul.jar:../../../liblttng-ust-java-agent/java/lttng-ust-agent-common/lttng-ust-agent-common.jar:." >-g Hello.java >javac -classpath > > "../../../liblttng-ust-java-agent/java/lttng-ust-agent-jul/lttng-ust-agent-jul.jar:../../../liblttng-ust-java-agent/java/lttng-ust-agent-common/lttng-ust-agent-common.jar:." >-g FilterChangeListenerExample.java >javac -classpath > > "../../../liblttng-ust-java-agent/java/lttng-ust-agent-jul/lttng-ust-agent-jul.jar:../../../liblttng-ust-java-agent/java/lttng-ust-agent-common/lttng-ust-agent-common.jar:." >-g ApplicationContextExample.java >make[1]: *** No rule to make target ' '. Stop. >make[1]: Leaving directory > '/home/smarchi/build/lttng-ust/doc/examples/java-jul' >Makefile:979: recipe for target 'all-local' failed >make: *** [all-local] Error 1 > > I inadvertently inserted a character that looks like a space, but that > is not a space. make tries to interpret it as a target name, which > obviously fails. > > Replace it with a proper space. > > Signed-off-by: Simon Marchi > --- > doc/examples/Makefile.am | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am > index dc37489687e2..2ba8cd89462a 100644 > --- a/doc/examples/Makefile.am > +++ b/doc/examples/Makefile.am > @@ -149,7 +149,7 @@ all-local: > $(MAKE) all \ > > JAVA_CLASSPATH_OVERRIDE_JUL="../../../liblttng-ust-java-agent/java/lttng-ust-agent-jul" > \ > > JAVA_CLASSPATH_OVERRIDE_COMMON="../../../liblttng-ust-java-agent/java/lttng-ust-agent-common" > \ > - $(AM_MAKEFLAGS) \ > + $(AM_MAKEFLAGS) \ > ) || exit 1; \ > done; \ > fi; \ > -- > 2.24.0 > > ___ > lttng-dev mailing list > lttng-dev@lists.lttng.org > https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com ___ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
[lttng-dev] [PATCH lttng-tools] Fix: update apps on untrack only when session is active
This mimics what is done on the track side. Fixes #1209 Signed-off-by: Jonathan Rajotte --- src/bin/lttng-sessiond/trace-ust.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/bin/lttng-sessiond/trace-ust.c b/src/bin/lttng-sessiond/trace-ust.c index 486b53d30..a6c0c04ad 100644 --- a/src/bin/lttng-sessiond/trace-ust.c +++ b/src/bin/lttng-sessiond/trace-ust.c @@ -922,6 +922,7 @@ end: int trace_ust_untrack_pid(struct ltt_ust_session *session, int pid) { int retval = LTTNG_OK; + bool should_update_apps = false; if (pid == -1) { /* Create empty tracker, replace old tracker. */ @@ -938,7 +939,7 @@ int trace_ust_untrack_pid(struct ltt_ust_session *session, int pid) fini_pid_tracker(&tmp_tracker); /* Remove session from all applications */ - ust_app_global_update_all(session); + should_update_apps = true; } else { int ret; struct ust_app *app; @@ -957,9 +958,12 @@ int trace_ust_untrack_pid(struct ltt_ust_session *session, int pid) /* Remove session from application. */ app = ust_app_find_by_pid(pid); if (app) { - ust_app_global_update(session, app); + should_update_apps = true; } } + if (should_update_apps && session->active) { + ust_app_global_update_all(session); + } end: return retval; } -- 2.17.1 ___ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
[lttng-dev] [PATCH lttng-tools v2] Fix: update apps on untrack only when session is active
This mimics what is done on the track side. Fixes #1210 Signed-off-by: Jonathan Rajotte --- Used wrong issue number. --- src/bin/lttng-sessiond/trace-ust.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/bin/lttng-sessiond/trace-ust.c b/src/bin/lttng-sessiond/trace-ust.c index 486b53d30..a6c0c04ad 100644 --- a/src/bin/lttng-sessiond/trace-ust.c +++ b/src/bin/lttng-sessiond/trace-ust.c @@ -922,6 +922,7 @@ end: int trace_ust_untrack_pid(struct ltt_ust_session *session, int pid) { int retval = LTTNG_OK; + bool should_update_apps = false; if (pid == -1) { /* Create empty tracker, replace old tracker. */ @@ -938,7 +939,7 @@ int trace_ust_untrack_pid(struct ltt_ust_session *session, int pid) fini_pid_tracker(&tmp_tracker); /* Remove session from all applications */ - ust_app_global_update_all(session); + should_update_apps = true; } else { int ret; struct ust_app *app; @@ -957,9 +958,12 @@ int trace_ust_untrack_pid(struct ltt_ust_session *session, int pid) /* Remove session from application. */ app = ust_app_find_by_pid(pid); if (app) { - ust_app_global_update(session, app); + should_update_apps = true; } } + if (should_update_apps && session->active) { + ust_app_global_update_all(session); + } end: return retval; } -- 2.17.1 ___ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev