projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
configure: add '-Wlogical-op' to warning flags
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
rotation-thread.cpp
diff --git
a/src/bin/lttng-sessiond/rotation-thread.cpp
b/src/bin/lttng-sessiond/rotation-thread.cpp
index 8754d48a1d2eeb519d2273cba67332c01bf50f31..473138cf8861d16871cc6b2f250bf1fb6b911229 100644
(file)
--- a/
src/bin/lttng-sessiond/rotation-thread.cpp
+++ b/
src/bin/lttng-sessiond/rotation-thread.cpp
@@
-25,6
+25,7
@@
#include <lttng/notification/channel-internal.h>
#include <lttng/rotate-internal.h>
#include <lttng/location-internal.h>
#include <lttng/notification/channel-internal.h>
#include <lttng/rotate-internal.h>
#include <lttng/location-internal.h>
+#include <lttng/condition/condition-internal.h>
#include "rotation-thread.h"
#include "lttng-sessiond.h"
#include "rotation-thread.h"
#include "lttng-sessiond.h"
@@
-214,7
+215,10
@@
void rotation_thread_enqueue_job(struct rotation_thread_timer_queue *queue,
* the job will be processed when the rotation_thread catches
* up.
*/
* the job will be processed when the rotation_thread catches
* up.
*/
+ DIAGNOSTIC_PUSH
+ DIAGNOSTIC_IGNORE_LOGICAL_OP
if (errno == EAGAIN || errno == EWOULDBLOCK) {
if (errno == EAGAIN || errno == EWOULDBLOCK) {
+ DIAGNOSTIC_POP
/*
* Not an error, but would be surprising and indicate
* that the rotation thread can't keep up with the
/*
* Not an error, but would be surprising and indicate
* that the rotation thread can't keep up with the
@@
-584,7
+588,7
@@
int handle_job_queue(struct rotation_thread_handle *handle,
session = job->session;
if (!session) {
DBG("Session \"%s\" not found",
session = job->session;
if (!session) {
DBG("Session \"%s\" not found",
- session->name);
+ session->name
!= NULL ? session->name : ""
);
/*
* This is a non-fatal error, and we cannot report it to
* the user (timer), so just print the error and
/*
* This is a non-fatal error, and we cannot report it to
* the user (timer), so just print the error and
@@
-659,10
+663,15
@@
int handle_condition(const struct lttng_condition *condition,
session_lock_list();
session = session_find_by_name(condition_session_name);
if (!session) {
session_lock_list();
session = session_find_by_name(condition_session_name);
if (!session) {
- ret = -1;
- session_unlock_list();
- ERR("Session \"%s\" not found",
+ DBG("Failed to find session while handling notification: notification type = %s, session name = `%s`",
+ lttng_condition_type_str(condition_type),
condition_session_name);
condition_session_name);
+ /*
+ * Not a fatal error: a session can be destroyed before we get
+ * the chance to handle the notification.
+ */
+ ret = 0;
+ session_unlock_list();
goto end;
}
session_lock(session);
goto end;
}
session_lock(session);
This page took
0.024951 seconds
and
4
git commands to generate.