From: zhaolei@cn.fujitsu.com (Zhaolei)
Subject: [ltt-dev] PATCH] Make lttcrl/lttd show error when channel not exist
Date: Tue, 21 Oct 2008 13:39:21 +0800 [thread overview]
Message-ID: <48FD6B09.7050406@cn.fujitsu.com> (raw)
Hello, Mathieu
When run lttctl with a no-exist debugfs's channel dir,
it don't report error:
# lttctl -n channel1 -d -l /no_exist -t /tmp/channel1
Linux Trace Toolkit Trace Control 0.54-10102008
Controlling trace : channel1
Linux Trace Toolkit Trace Daemon 0.54-10102008
Reading from debugfs directory : /no_exist/channel1
Writing to trace directory : /tmp/channel1
#
It is because lttd don't return error in daemon mode:
# lttd -d -t /tmp/channel1 -c /no_exist
Linux Trace Toolkit Trace Daemon 0.54-10102008
Reading from debugfs directory : /no_exist
Writing to trace directory : /tmp/channel1
# echo $?
0
#
I moved daemon() after channels_init() and make it seems fixed.
I tested patched program and haven't found problem:
# lttctl -n channel1 -d -l /no_exist -t /tmp/channel1
Linux Trace Toolkit Trace Control 0.54-10102008
Controlling trace : channel1
Linux Trace Toolkit Trace Daemon 0.54-10102008
Reading from debugfs directory : /no_exist/channel1
Writing to trace directory : /tmp/channel1
/no_exist/channel1: No such file or directory
Trace start error
#
#
# lttd -d -t /tmp/channel1 -c /no_exist
Linux Trace Toolkit Trace Daemon 0.54-10102008
Reading from debugfs directory : /no_exist
Writing to trace directory : /tmp/channel1
/no_exist: No such file or directory
#
#
# lttctl -n channel1 -d -l /mnt/debugfs/ltt/ -t /tmp/channel1
Linux Trace Toolkit Trace Control 0.54-10102008
Controlling trace : channel1
Linux Trace Toolkit Trace Daemon 0.54-10102008
Reading from debugfs directory : /mnt/debugfs/ltt//channel1
Writing to trace directory : /tmp/channel1
Creating trace subdirectory /tmp/channel1
Adding inotify for channel /mnt/debugfs/ltt//channel1/
Added inotify for channel /mnt/debugfs/ltt//channel1/, wd 1
Channel file : /mnt/debugfs/ltt//channel1/cpu_0
Opening file.
Channel file : /mnt/debugfs/ltt//channel1/control
Entering channel subdirectory...
Creating trace subdirectory /tmp/channel1/control
Adding inotify for channel /mnt/debugfs/ltt//channel1/control/
Added inotify for channel /mnt/debugfs/ltt//channel1/control/, wd 2
Channel file : /mnt/debugfs/ltt//channel1/control/network_0
Opening file.
Channel file : /mnt/debugfs/ltt//channel1/control/modules_0
Opening file.
Channel file : /mnt/debugfs/ltt//channel1/control/processes_0
Opening file.
Channel file : /mnt/debugfs/ltt//channel1/control/interrupts_0
Opening file.
Channel file : /mnt/debugfs/ltt//channel1/control/metadata_0
Opening file.
#
Cound you review it?
Btw, this patch will make lttctl and lttv show more detail message, is it necessary to cut them?
Signed-off-by: Zhao Lei <zhaolei at cn.fujitsu.com>
---
diff -Nur ltt-control-0.54-10102008.org/lttd/lttd.c ltt-control-0.54-10102008/lttd/lttd.c
--- ltt-control-0.54-10102008.org/lttd/lttd.c 2008-10-15 15:29:54.000000000 +0800
+++ ltt-control-0.54-10102008/lttd/lttd.c 2008-10-21 13:15:06.000000000 +0800
@@ -911,15 +911,6 @@
show_info();
- if(daemon_mode) {
- ret = daemon(0, 0);
-
- if(ret == -1) {
- perror("An error occured while daemonizing.");
- exit(-1);
- }
- }
-
/* Connect the signal handlers */
act.sa_handler = handler;
act.sa_flags = 0;
@@ -934,6 +925,15 @@
if(ret = channels_init())
return ret;
+ if(daemon_mode) {
+ ret = daemon(0, 0);
+
+ if(ret == -1) {
+ perror("An error occured while daemonizing.");
+ exit(-1);
+ }
+ }
+
tids = malloc(sizeof(pthread_t) * num_threads);
for(i=0; i<num_threads; i++) {
next reply other threads:[~2008-10-21 5:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-21 5:39 Zhaolei [this message]
2008-10-21 14:05 ` Mathieu Desnoyers
2008-10-22 3:18 ` [ltt-dev] [PATCH v2 1/2] " Zhaolei
2008-10-24 14:12 ` Mathieu Desnoyers
2008-10-22 3:23 ` [ltt-dev] [PATCH v2 2/2] Add -v option for lttd Zhaolei
2008-10-24 14:15 ` Mathieu Desnoyers
2008-10-27 5:32 ` [ltt-dev] [PATCH v3] " Zhaolei
2008-10-28 14:27 ` Mathieu Desnoyers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48FD6B09.7050406@cn.fujitsu.com \
--to=zhaolei@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox