Index: libcfa/src/concurrency/channel.hfa
===================================================================
--- libcfa/src/concurrency/channel.hfa	(revision 5c931e0ebb212af70459d00bb234ee085f575780)
+++ libcfa/src/concurrency/channel.hfa	(revision a0d1f1ce155bc63aec8f199d55f9adb9caf34d42)
@@ -35,8 +35,11 @@
 static inline void ?{}( channel(T) &c ){ ((channel(T) &)c){ 0 }; }
 static inline void ^?{}( channel(T) &c ) with(c) { delete( buffer ); }
-inline size_t get_count( channel(T) & chan ) with(chan) { return count; }
-inline size_t get_size( channel(T) & chan ) with(chan) { return size; }
+static inline size_t get_count( channel(T) & chan ) with(chan) { return count; }
+static inline size_t get_size( channel(T) & chan ) with(chan) { return size; }
+static inline bool has_waiters( channel(T) & chan ) with(chan) { return !empty( cons ) || !empty( prods ); }
+static inline bool has_waiting_consumers( channel(T) & chan ) with(chan) { return !empty( cons ); }
+static inline bool has_waiting_producers( channel(T) & chan ) with(chan) { return !empty( prods ); }
 
-inline void insert_( channel(T) & chan, T elem ) with(chan) {
+static inline void insert_( channel(T) & chan, T elem ) with(chan) {
     memcpy((void *)&buffer[back], (void *)&elem, sizeof(T));
     count += 1;
@@ -46,5 +49,5 @@
 
 
-inline void insert( channel(T) & chan, T elem ) with(chan) {
+static inline void insert( channel(T) & chan, T elem ) with(chan) {
     lock( mutex_lock );
 
@@ -72,5 +75,5 @@
 }
 
-inline T remove( channel(T) & chan ) with(chan) {
+static inline T remove( channel(T) & chan ) with(chan) {
     lock( mutex_lock );
     T retval;
