summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-07-26 14:35:56 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-07-26 14:35:56 +0200
commite37f03e47a0b4329fbea954c841f17f7e6c41ceb (patch)
treee045aba8ba783a14a9dc4e15401f2d673943854c
parentCritical bug fix for callouts (diff)
downloadrtems-libbsd-e37f03e47a0b4329fbea954c841f17f7e6c41ceb.tar.bz2
Make sure CALLOUT_PROCESSED is not used
This flag is only used in combination with the callout expire list, which we do not use in libbsd.
-rw-r--r--freebsd/sys/kern/kern_timeout.c2
-rw-r--r--freebsd/sys/sys/callout.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/freebsd/sys/kern/kern_timeout.c b/freebsd/sys/kern/kern_timeout.c
index 2b08d5c9..d78cf647 100644
--- a/freebsd/sys/kern/kern_timeout.c
+++ b/freebsd/sys/kern/kern_timeout.c
@@ -681,7 +681,9 @@ callout_cc_add(struct callout *c, struct callout_cpu *cc,
sbt = cc->cc_lastscan;
c->c_arg = arg;
c->c_iflags |= CALLOUT_PENDING;
+#ifndef __rtems__
c->c_iflags &= ~CALLOUT_PROCESSED;
+#endif /* __rtems__ */
c->c_flags |= CALLOUT_ACTIVE;
#ifndef __rtems__
if (flags & C_DIRECT_EXEC)
diff --git a/freebsd/sys/sys/callout.h b/freebsd/sys/sys/callout.h
index eee68843..6c94848a 100644
--- a/freebsd/sys/sys/callout.h
+++ b/freebsd/sys/sys/callout.h
@@ -47,8 +47,8 @@
#define CALLOUT_RETURNUNLOCKED 0x0010 /* handler returns with mtx unlocked */
#define CALLOUT_SHAREDLOCK 0x0020 /* callout lock held in shared mode */
#define CALLOUT_DFRMIGRATION 0x0040 /* callout in deferred migration mode */
-#define CALLOUT_PROCESSED 0x0080 /* callout in wheel or processing list? */
#ifndef __rtems__
+#define CALLOUT_PROCESSED 0x0080 /* callout in wheel or processing list? */
#define CALLOUT_DIRECT 0x0100 /* allow exec from hw int context */
#endif /* __rtems__ */