[Xenomai-git] Philippe Gerum : cobalt/posix/monitor: drop redundant queuing flag

2014-04-30 Thread git repository hosting
Module: xenomai-forge
Branch: next
Commit: 88234b170a06b4075156dcedcc6b433736178690
URL:
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=88234b170a06b4075156dcedcc6b433736178690

Author: Philippe Gerum 
Date:   Tue Apr 22 16:19:22 2014 +0200

cobalt/posix/monitor: drop redundant queuing flag

---

 kernel/cobalt/posix/monitor.c |   10 +++---
 kernel/cobalt/posix/thread.c  |1 -
 kernel/cobalt/posix/thread.h  |1 -
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/kernel/cobalt/posix/monitor.c b/kernel/cobalt/posix/monitor.c
index f1bc84d..c6b982e 100644
--- a/kernel/cobalt/posix/monitor.c
+++ b/kernel/cobalt/posix/monitor.c
@@ -206,8 +206,7 @@ static void cobalt_monitor_wakeup(struct cobalt_monitor 
*mon)
if (bcast ||
(p->u_window->grant_value && p->wchan == 
&thread->monitor_synch)) {
xnsynch_wakeup_this_sleeper(&thread->monitor_synch, p);
-   list_del(&thread->monitor_link);
-   thread->monitor_queued = 0;
+   list_del_init(&thread->monitor_link);
}
}
 drain:
@@ -277,7 +276,6 @@ int cobalt_monitor_wait(struct cobalt_monitor_shadow __user 
*u_mon,
else {
curr->threadbase.u_window->grant_value = 0;
list_add_tail(&curr->monitor_link, &mon->waiters);
-   curr->monitor_queued = 1;
}
datp->flags |= COBALT_MONITOR_PENDED;
 
@@ -291,10 +289,8 @@ int cobalt_monitor_wait(struct cobalt_monitor_shadow 
__user *u_mon,
}
 
if ((event & COBALT_MONITOR_WAITDRAIN) == 0 &&
-   curr->monitor_queued) {
-   list_del(&curr->monitor_link);
-   curr->monitor_queued = 0;
-   }
+   !list_empty(&curr->monitor_link))
+   list_del_init(&curr->monitor_link);
 
if (list_empty(&mon->waiters) && !xnsynch_pended_p(&mon->drain))
datp->flags &= ~COBALT_MONITOR_PENDED;
diff --git a/kernel/cobalt/posix/thread.c b/kernel/cobalt/posix/thread.c
index cd5376b..3ab3879 100644
--- a/kernel/cobalt/posix/thread.c
+++ b/kernel/cobalt/posix/thread.c
@@ -639,7 +639,6 @@ static inline int pthread_create(struct cobalt_thread 
**thread_p,
thread->sched_u_policy = policy;
thread->magic = COBALT_THREAD_MAGIC;
xnsynch_init(&thread->monitor_synch, XNSYNCH_FIFO, NULL);
-   thread->monitor_queued = 0;
 
xnsynch_init(&thread->sigwait, XNSYNCH_FIFO, NULL);
sigemptyset(&thread->sigpending);
diff --git a/kernel/cobalt/posix/thread.h b/kernel/cobalt/posix/thread.h
index b1fee6b..b68336e 100644
--- a/kernel/cobalt/posix/thread.h
+++ b/kernel/cobalt/posix/thread.h
@@ -106,7 +106,6 @@ struct cobalt_thread {
/** Monitor wait object and link holder. */
struct xnsynch monitor_synch;
struct list_head monitor_link;
-   int monitor_queued;
 
struct cobalt_local_hkey hkey;
 };


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Philippe Gerum : cobalt/posix/monitor: drop redundant queuing flag

2014-04-28 Thread git repository hosting
Module: xenomai-forge
Branch: next
Commit: ae2f4774b98b33ddeaa95850d5baeb5d76d6b736
URL:
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=ae2f4774b98b33ddeaa95850d5baeb5d76d6b736

Author: Philippe Gerum 
Date:   Tue Apr 22 16:19:22 2014 +0200

cobalt/posix/monitor: drop redundant queuing flag

---

 kernel/cobalt/posix/monitor.c |   10 +++---
 kernel/cobalt/posix/thread.c  |1 -
 kernel/cobalt/posix/thread.h  |1 -
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/kernel/cobalt/posix/monitor.c b/kernel/cobalt/posix/monitor.c
index f1bc84d..c6b982e 100644
--- a/kernel/cobalt/posix/monitor.c
+++ b/kernel/cobalt/posix/monitor.c
@@ -206,8 +206,7 @@ static void cobalt_monitor_wakeup(struct cobalt_monitor 
*mon)
if (bcast ||
(p->u_window->grant_value && p->wchan == 
&thread->monitor_synch)) {
xnsynch_wakeup_this_sleeper(&thread->monitor_synch, p);
-   list_del(&thread->monitor_link);
-   thread->monitor_queued = 0;
+   list_del_init(&thread->monitor_link);
}
}
 drain:
@@ -277,7 +276,6 @@ int cobalt_monitor_wait(struct cobalt_monitor_shadow __user 
*u_mon,
else {
curr->threadbase.u_window->grant_value = 0;
list_add_tail(&curr->monitor_link, &mon->waiters);
-   curr->monitor_queued = 1;
}
datp->flags |= COBALT_MONITOR_PENDED;
 
@@ -291,10 +289,8 @@ int cobalt_monitor_wait(struct cobalt_monitor_shadow 
__user *u_mon,
}
 
if ((event & COBALT_MONITOR_WAITDRAIN) == 0 &&
-   curr->monitor_queued) {
-   list_del(&curr->monitor_link);
-   curr->monitor_queued = 0;
-   }
+   !list_empty(&curr->monitor_link))
+   list_del_init(&curr->monitor_link);
 
if (list_empty(&mon->waiters) && !xnsynch_pended_p(&mon->drain))
datp->flags &= ~COBALT_MONITOR_PENDED;
diff --git a/kernel/cobalt/posix/thread.c b/kernel/cobalt/posix/thread.c
index cd5376b..3ab3879 100644
--- a/kernel/cobalt/posix/thread.c
+++ b/kernel/cobalt/posix/thread.c
@@ -639,7 +639,6 @@ static inline int pthread_create(struct cobalt_thread 
**thread_p,
thread->sched_u_policy = policy;
thread->magic = COBALT_THREAD_MAGIC;
xnsynch_init(&thread->monitor_synch, XNSYNCH_FIFO, NULL);
-   thread->monitor_queued = 0;
 
xnsynch_init(&thread->sigwait, XNSYNCH_FIFO, NULL);
sigemptyset(&thread->sigpending);
diff --git a/kernel/cobalt/posix/thread.h b/kernel/cobalt/posix/thread.h
index b1fee6b..b68336e 100644
--- a/kernel/cobalt/posix/thread.h
+++ b/kernel/cobalt/posix/thread.h
@@ -106,7 +106,6 @@ struct cobalt_thread {
/** Monitor wait object and link holder. */
struct xnsynch monitor_synch;
struct list_head monitor_link;
-   int monitor_queued;
 
struct cobalt_local_hkey hkey;
 };


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Philippe Gerum : cobalt/posix/monitor: drop redundant queuing flag

2014-04-24 Thread git repository hosting
Module: xenomai-forge
Branch: rtdm-api-waitqueues
Commit: 7a5f4a8f57f3a5714ae565eb0db55dbf16df9c93
URL:
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=7a5f4a8f57f3a5714ae565eb0db55dbf16df9c93

Author: Philippe Gerum 
Date:   Tue Apr 22 16:19:22 2014 +0200

cobalt/posix/monitor: drop redundant queuing flag

---

 kernel/cobalt/posix/monitor.c |   10 +++---
 kernel/cobalt/posix/thread.c  |1 -
 kernel/cobalt/posix/thread.h  |1 -
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/kernel/cobalt/posix/monitor.c b/kernel/cobalt/posix/monitor.c
index f1bc84d..c6b982e 100644
--- a/kernel/cobalt/posix/monitor.c
+++ b/kernel/cobalt/posix/monitor.c
@@ -206,8 +206,7 @@ static void cobalt_monitor_wakeup(struct cobalt_monitor 
*mon)
if (bcast ||
(p->u_window->grant_value && p->wchan == 
&thread->monitor_synch)) {
xnsynch_wakeup_this_sleeper(&thread->monitor_synch, p);
-   list_del(&thread->monitor_link);
-   thread->monitor_queued = 0;
+   list_del_init(&thread->monitor_link);
}
}
 drain:
@@ -277,7 +276,6 @@ int cobalt_monitor_wait(struct cobalt_monitor_shadow __user 
*u_mon,
else {
curr->threadbase.u_window->grant_value = 0;
list_add_tail(&curr->monitor_link, &mon->waiters);
-   curr->monitor_queued = 1;
}
datp->flags |= COBALT_MONITOR_PENDED;
 
@@ -291,10 +289,8 @@ int cobalt_monitor_wait(struct cobalt_monitor_shadow 
__user *u_mon,
}
 
if ((event & COBALT_MONITOR_WAITDRAIN) == 0 &&
-   curr->monitor_queued) {
-   list_del(&curr->monitor_link);
-   curr->monitor_queued = 0;
-   }
+   !list_empty(&curr->monitor_link))
+   list_del_init(&curr->monitor_link);
 
if (list_empty(&mon->waiters) && !xnsynch_pended_p(&mon->drain))
datp->flags &= ~COBALT_MONITOR_PENDED;
diff --git a/kernel/cobalt/posix/thread.c b/kernel/cobalt/posix/thread.c
index cd5376b..3ab3879 100644
--- a/kernel/cobalt/posix/thread.c
+++ b/kernel/cobalt/posix/thread.c
@@ -639,7 +639,6 @@ static inline int pthread_create(struct cobalt_thread 
**thread_p,
thread->sched_u_policy = policy;
thread->magic = COBALT_THREAD_MAGIC;
xnsynch_init(&thread->monitor_synch, XNSYNCH_FIFO, NULL);
-   thread->monitor_queued = 0;
 
xnsynch_init(&thread->sigwait, XNSYNCH_FIFO, NULL);
sigemptyset(&thread->sigpending);
diff --git a/kernel/cobalt/posix/thread.h b/kernel/cobalt/posix/thread.h
index b1fee6b..b68336e 100644
--- a/kernel/cobalt/posix/thread.h
+++ b/kernel/cobalt/posix/thread.h
@@ -106,7 +106,6 @@ struct cobalt_thread {
/** Monitor wait object and link holder. */
struct xnsynch monitor_synch;
struct list_head monitor_link;
-   int monitor_queued;
 
struct cobalt_local_hkey hkey;
 };


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Philippe Gerum : cobalt/posix/monitor: drop redundant queuing flag

2014-04-23 Thread git repository hosting
Module: xenomai-forge
Branch: next
Commit: 7a5f4a8f57f3a5714ae565eb0db55dbf16df9c93
URL:
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=7a5f4a8f57f3a5714ae565eb0db55dbf16df9c93

Author: Philippe Gerum 
Date:   Tue Apr 22 16:19:22 2014 +0200

cobalt/posix/monitor: drop redundant queuing flag

---

 kernel/cobalt/posix/monitor.c |   10 +++---
 kernel/cobalt/posix/thread.c  |1 -
 kernel/cobalt/posix/thread.h  |1 -
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/kernel/cobalt/posix/monitor.c b/kernel/cobalt/posix/monitor.c
index f1bc84d..c6b982e 100644
--- a/kernel/cobalt/posix/monitor.c
+++ b/kernel/cobalt/posix/monitor.c
@@ -206,8 +206,7 @@ static void cobalt_monitor_wakeup(struct cobalt_monitor 
*mon)
if (bcast ||
(p->u_window->grant_value && p->wchan == 
&thread->monitor_synch)) {
xnsynch_wakeup_this_sleeper(&thread->monitor_synch, p);
-   list_del(&thread->monitor_link);
-   thread->monitor_queued = 0;
+   list_del_init(&thread->monitor_link);
}
}
 drain:
@@ -277,7 +276,6 @@ int cobalt_monitor_wait(struct cobalt_monitor_shadow __user 
*u_mon,
else {
curr->threadbase.u_window->grant_value = 0;
list_add_tail(&curr->monitor_link, &mon->waiters);
-   curr->monitor_queued = 1;
}
datp->flags |= COBALT_MONITOR_PENDED;
 
@@ -291,10 +289,8 @@ int cobalt_monitor_wait(struct cobalt_monitor_shadow 
__user *u_mon,
}
 
if ((event & COBALT_MONITOR_WAITDRAIN) == 0 &&
-   curr->monitor_queued) {
-   list_del(&curr->monitor_link);
-   curr->monitor_queued = 0;
-   }
+   !list_empty(&curr->monitor_link))
+   list_del_init(&curr->monitor_link);
 
if (list_empty(&mon->waiters) && !xnsynch_pended_p(&mon->drain))
datp->flags &= ~COBALT_MONITOR_PENDED;
diff --git a/kernel/cobalt/posix/thread.c b/kernel/cobalt/posix/thread.c
index cd5376b..3ab3879 100644
--- a/kernel/cobalt/posix/thread.c
+++ b/kernel/cobalt/posix/thread.c
@@ -639,7 +639,6 @@ static inline int pthread_create(struct cobalt_thread 
**thread_p,
thread->sched_u_policy = policy;
thread->magic = COBALT_THREAD_MAGIC;
xnsynch_init(&thread->monitor_synch, XNSYNCH_FIFO, NULL);
-   thread->monitor_queued = 0;
 
xnsynch_init(&thread->sigwait, XNSYNCH_FIFO, NULL);
sigemptyset(&thread->sigpending);
diff --git a/kernel/cobalt/posix/thread.h b/kernel/cobalt/posix/thread.h
index b1fee6b..b68336e 100644
--- a/kernel/cobalt/posix/thread.h
+++ b/kernel/cobalt/posix/thread.h
@@ -106,7 +106,6 @@ struct cobalt_thread {
/** Monitor wait object and link holder. */
struct xnsynch monitor_synch;
struct list_head monitor_link;
-   int monitor_queued;
 
struct cobalt_local_hkey hkey;
 };


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git