[ufo-core] 04/08: Imported Upstream version 0.6.0.948

Frédéric-Emmanuel Picca picca at moszumanska.debian.org
Tue Dec 10 14:18:13 UTC 2013


This is an automated email from the git hooks/post-receive script.

picca pushed a commit to branch master
in repository ufo-core.

commit 4b73e62a6a52e2f1392093f776bd386d4be6125c
Author: Picca Frédéric-Emmanuel <picca at debian.org>
Date:   Tue Dec 10 10:40:33 2013 +0100

    Imported Upstream version 0.6.0.948
---
 ChangeLog                          | 155 +++++++++++++++++++++++++++++++++++++
 Makefile.in                        |   4 +-
 configure                          |  22 +++---
 docs/html/annotation-glossary.html |  35 +++++----
 docs/html/api-index-full.html      |   4 +
 docs/html/index.sgml               |  10 +--
 docs/manual/install/linux.rst      |  35 ++++-----
 tests/test-suite.h                 |  19 +++++
 ufo/Makefile.am                    |   2 +
 ufo/Makefile.in                    |  59 +++++++-------
 ufo/compat.c                       |  35 +++++++++
 ufo/compat.h                       |  34 ++++++++
 ufo/ufo-basic-ops.c                |  19 +++++
 ufo/ufo-basic-ops.h                |  19 +++++
 ufo/ufo-config.c                   |   2 +-
 ufo/ufo-enums.c                    |  19 +++++
 ufo/ufo-enums.c.template           |  19 +++++
 ufo/ufo-enums.h                    |  18 +++++
 ufo/ufo-enums.h.template           |  18 +++++
 ufo/ufo-input-task.c               |  11 ++-
 ufo/ufo-node.c                     |  10 ++-
 ufo/ufo-output-task.c              |   7 +-
 ufo/ufo-resources.c                |   2 +-
 ufo/ufo-scheduler.c                |  48 ++++++++++++
 ufo/ufo-task-node.c                |   2 +
 ufo/zmq-shim.h                     |  19 +++++
 26 files changed, 536 insertions(+), 91 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 09b5836..2f966a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,160 @@
 # Generated by Makefile. Do not edit.
 
+commit 09101234190d87fe2a4f820e271cc059eee844f9
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Tue Dec 10 09:10:16 2013 +0100
+
+    add missing license headers
+
+ tests/test-suite.h       | 19 +++++++++++++++++++
+ ufo/ufo-basic-ops.c      | 19 +++++++++++++++++++
+ ufo/ufo-basic-ops.h      | 19 +++++++++++++++++++
+ ufo/ufo-enums.c.template | 19 +++++++++++++++++++
+ ufo/ufo-enums.h.template | 18 ++++++++++++++++++
+ ufo/zmq-shim.h           | 19 +++++++++++++++++++
+ 6 files changed, 113 insertions(+)
+
+commit bec96d94e1649daf51a4f32d760399bf712d4d17
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Mon Dec 9 09:12:19 2013 +0100
+
+    $TRAVIS_BUILD_DIR does not work, so cd manually
+
+ .travis.yml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d1d3e99e76b588337181618659a3d321d5138cb0
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Mon Dec 9 08:39:31 2013 +0100
+
+    Travis: Build with Autotools
+
+ .travis.yml | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit a965e15682a7374ddb77b800f134d573c54cc913
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Mon Dec 9 09:00:47 2013 +0100
+
+    Automake: fix source delimiter
+
+ ufo/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c49dbefa8e6f6ae2613fee3ff6092c092bbf9a10
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Mon Dec 9 08:29:06 2013 +0100
+
+    Synchronize autotools with cmake
+
+ ufo/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit e6e90cfac153de1ca4b83ca39df5427489c9531a
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Fri Dec 6 17:04:11 2013 +0100
+
+    Include compat.h
+
+ ufo/compat.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 85aa2c270f293d9068ed81ff3bcb423251ca8a02
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Fri Dec 6 16:53:21 2013 +0100
+
+    Add compatibility layer for deprecated functions
+
+ ufo/CMakeLists.txt   |  1 +
+ ufo/compat.c         | 34 ++++++++++++++++++++++++++++++++++
+ ufo/compat.h         | 34 ++++++++++++++++++++++++++++++++++
+ ufo/ufo-input-task.c |  2 ++
+ 4 files changed, 71 insertions(+)
+
+commit 9d1ce7b51a7b659b53d5e13af45b238125331af0
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Fri Dec 6 16:06:42 2013 +0100
+
+    Fix i/o handling for Python integration
+
+ ufo/ufo-input-task.c  | 9 ++++++++-
+ ufo/ufo-output-task.c | 7 ++++---
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+commit ffa5222e6c6cff80e8e97875a150f993bd36fa55
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Fri Dec 6 13:32:51 2013 +0100
+
+    Fix kernel load path
+
+ ufo/ufo-resources.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit bb950784c05809da53821c5a31711c0734e421c3
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Fri Dec 6 11:52:47 2013 +0100
+
+    Copy only writable properties
+    
+    This fixes warnings that :num-processed is not writable.
+
+ ufo/ufo-node.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit a47954df26b1331598c9eba3597cb7e45a99b75a
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Fri Dec 6 11:47:46 2013 +0100
+
+    Check if all inputs are connected
+
+ ufo/ufo-scheduler.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+commit 3f4c1546b3163ce2b4f6a1f8cc55b2f1c05c9a87
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Thu Dec 5 15:41:54 2013 +0100
+
+    Add task group assertions
+
+ ufo/ufo-task-node.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 8e155df7057955625b42c6f7c52c03cbe8a2ead0
+Merge: 45a0e4c 71566bf
+Author: Matthias Vogelgesang <matthias.vogelgesang at gmail.com>
+Date:   Wed Dec 4 00:28:00 2013 -0800
+
+    Merge pull request #16 from Dynalon/master
+    
+    Only use GPU devices by default
+
+commit 71566bf378f39488458e8f14217af5a9cff855dd
+Author: Timo Dörr <timo at latecrew.de>
+Date:   Wed Dec 4 09:20:20 2013 +0100
+
+    Default to using only GPU devices
+
+ ufo/ufo-config.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 45a0e4c09aa5aa32ec277ab3c5335029cdf6fc22
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Tue Dec 3 16:54:58 2013 +0100
+
+    Update deploy documentation
+
+ docs/manual/install/linux.rst | 35 ++++++++++++++++-------------------
+ 1 file changed, 16 insertions(+), 19 deletions(-)
+
+commit 0905cbd68df927f4b7d5baab43770688fcd430e6
+Author: Matthias Vogelgesang <matthias.vogelgesang at kit.edu>
+Date:   Tue Dec 3 16:50:54 2013 +0100
+
+    Fix and simplify deploy script
+
+ tools/deploy.sh | 89 +++++++++++++++++----------------------------------------
+ 1 file changed, 26 insertions(+), 63 deletions(-)
+
 commit 0709f774738cb21b296047a7a5689aa0bf98121f
 Author: Frédéric-Emmanuel PICCA <picca at synchrotron-soleil.fr>
 Date:   Mon Dec 2 14:48:43 2013 +0100
diff --git a/Makefile.in b/Makefile.in
index 938f3db..6292d39 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -81,8 +81,8 @@ subdir = .
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 	$(top_srcdir)/configure $(am__configure_deps) AUTHORS COPYING \
 	ChangeLog NEWS config/compile config/config.guess \
-	config/config.sub config/install-sh config/missing \
-	config/ltmain.sh $(top_srcdir)/config/compile \
+	config/config.sub config/depcomp config/install-sh \
+	config/missing config/ltmain.sh $(top_srcdir)/config/compile \
 	$(top_srcdir)/config/config.guess \
 	$(top_srcdir)/config/config.sub \
 	$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
diff --git a/configure b/configure
index ca4f5ce..5df55cc 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ufo 0.6.0.932.
+# Generated by GNU Autoconf 2.69 for ufo 0.6.0.948.
 #
 # Report bugs to <http://ufo.kit.edu/ufo/newticket>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='ufo'
 PACKAGE_TARNAME='ufo'
-PACKAGE_VERSION='0.6.0.932'
-PACKAGE_STRING='ufo 0.6.0.932'
+PACKAGE_VERSION='0.6.0.948'
+PACKAGE_STRING='ufo 0.6.0.948'
 PACKAGE_BUGREPORT='http://ufo.kit.edu/ufo/newticket'
 PACKAGE_URL=''
 
@@ -1392,7 +1392,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ufo 0.6.0.932 to adapt to many kinds of systems.
+\`configure' configures ufo 0.6.0.948 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1462,7 +1462,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ufo 0.6.0.932:";;
+     short | recursive ) echo "Configuration of ufo 0.6.0.948:";;
    esac
   cat <<\_ACEOF
 
@@ -1600,7 +1600,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ufo configure 0.6.0.932
+ufo configure 0.6.0.948
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2023,7 +2023,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ufo $as_me 0.6.0.932, which was
+It was created by ufo $as_me 0.6.0.948, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2890,7 +2890,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ufo'
- VERSION='0.6.0.932'
+ VERSION='0.6.0.948'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3043,7 +3043,7 @@ _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-#define VREV 932
+#define VREV 948
 _ACEOF
 
 version_info="6:0:6"
@@ -14107,7 +14107,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ufo $as_me 0.6.0.932, which was
+This file was extended by ufo $as_me 0.6.0.948, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14173,7 +14173,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ufo config.status 0.6.0.932
+ufo config.status 0.6.0.948
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/docs/html/annotation-glossary.html b/docs/html/annotation-glossary.html
index a553bc6..2c37687 100644
--- a/docs/html/annotation-glossary.html
+++ b/docs/html/annotation-glossary.html
@@ -20,47 +20,50 @@
 <td> </td>
 </tr>
 <tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#glsT">T</a>
+<a class="shortcut" href="#glsE">E</a>
+                      | 
+                   <a class="shortcut" href="#glsT">T</a>
                       | 
                    <a class="shortcut" href="#glsI">I</a>
                       | 
                    <a class="shortcut" href="#glsO">O</a>
                       | 
-                   <a class="shortcut" href="#glsT">T</a>
+                   <a class="shortcut" href="#glsS">S</a>
                       | 
-                   <a class="shortcut" href="#glsE">E</a>
+                   <a class="shortcut" href="#glsT">T</a>
                       | 
                    <a class="shortcut" href="#glsA">A</a>
                       | 
-                   <a class="shortcut" href="#glsS">S</a>
+                   <a class="shortcut" href="#glsT">T</a>
 </td></tr>
 </table>
 <div class="glossary">
 <div class="titlepage"><div><div><h1 class="title">
 <a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
+<a name="glsE"></a><h3 class="title">E</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt>
+<dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd>
 <a name="glsT"></a><h3 class="title">T</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20none"></a>transfer none</span></dt>
-<dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20container"></a>transfer container</span></dt>
+<dd class="glossdef"><p>Free data container after the code is done.</p></dd>
 <a name="glsI"></a><h3 class="title">I</h3>
 <dt><span class="glossterm"><a name="annotation-glossterm-in"></a>in</span></dt>
 <dd class="glossdef"><p>Parameter for input. Default is <acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>.</p></dd>
 <a name="glsO"></a><h3 class="title">O</h3>
 <dt><span class="glossterm"><a name="annotation-glossterm-out"></a>out</span></dt>
 <dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
+<a name="glsS"></a><h3 class="title">S</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-scope%20call"></a>scope call</span></dt>
+<dd class="glossdef"><p>The callback is valid only during the call to the method.</p></dd>
 <a name="glsT"></a><h3 class="title">T</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20container"></a>transfer container</span></dt>
-<dd class="glossdef"><p>Free data container after the code is done.</p></dd>
-<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20full"></a>transfer full</span></dt>
-<dd class="glossdef"><p>Free data after the code is done.</p></dd>
-<a name="glsE"></a><h3 class="title">E</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt>
-<dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20none"></a>transfer none</span></dt>
+<dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
 <a name="glsA"></a><h3 class="title">A</h3>
 <dt><span class="glossterm"><a name="annotation-glossterm-allow-none"></a>allow-none</span></dt>
 <dd class="glossdef"><p>NULL is ok, both for passing and for returning.</p></dd>
-<a name="glsS"></a><h3 class="title">S</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-scope%20call"></a>scope call</span></dt>
-<dd class="glossdef"><p>The callback is valid only during the call to the method.</p></dd>
+<a name="glsT"></a><h3 class="title">T</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20full"></a>transfer full</span></dt>
+<dd class="glossdef"><p>Free data after the code is done.</p></dd>
 </div>
 <div class="footer">
 <hr>
diff --git a/docs/html/api-index-full.html b/docs/html/api-index-full.html
index ec03def..3f2f002 100644
--- a/docs/html/api-index-full.html
+++ b/docs/html/api-index-full.html
@@ -456,6 +456,10 @@
 <a class="link" href="UfoGroup.html#ufo-group-set-num-expected" title="ufo_group_set_num_expected ()">ufo_group_set_num_expected</a>, function in <a class="link" href="UfoGroup.html" title="UfoGroup">UfoGroup</a>
 </dt>
 <dd></dd>
+<dt>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Asynchronous-Queues.html#g-async-queue-timeout-pop">g_async_queue_timeout_pop</a>, function in compat
+</dt>
+<dd></dd>
 <a name="idxI"></a><h3 class="title">I</h3>
 <dt>
 <a class="link" href="Ufo-UfoTask.html#UfoInputParam" title="struct UfoInputParam">UfoInputParam</a>, struct in <a class="link" href="Ufo-UfoTask.html" title="UfoTask">UfoTask</a>
diff --git a/docs/html/index.sgml b/docs/html/index.sgml
index d2f3240..b5d1288 100644
--- a/docs/html/index.sgml
+++ b/docs/html/index.sgml
@@ -495,11 +495,11 @@
 <ANCHOR id="zmq-msg-send" href="Ufo/Ufo-zmq-shim.html#zmq-msg-send">
 <ANCHOR id="zmq-msg-recv" href="Ufo/Ufo-zmq-shim.html#zmq-msg-recv">
 <ANCHOR id="ZMQ-POLL-MSEC:CAPS" href="Ufo/Ufo-zmq-shim.html#ZMQ-POLL-MSEC:CAPS">
-<ANCHOR id="annotation-glossterm-transfer none" href="Ufo/annotation-glossary.html#annotation-glossterm-transfer none">
+<ANCHOR id="annotation-glossterm-element-type" href="Ufo/annotation-glossary.html#annotation-glossterm-element-type">
+<ANCHOR id="annotation-glossterm-transfer container" href="Ufo/annotation-glossary.html#annotation-glossterm-transfer container">
 <ANCHOR id="annotation-glossterm-in" href="Ufo/annotation-glossary.html#annotation-glossterm-in">
 <ANCHOR id="annotation-glossterm-out" href="Ufo/annotation-glossary.html#annotation-glossterm-out">
-<ANCHOR id="annotation-glossterm-transfer container" href="Ufo/annotation-glossary.html#annotation-glossterm-transfer container">
-<ANCHOR id="annotation-glossterm-transfer full" href="Ufo/annotation-glossary.html#annotation-glossterm-transfer full">
-<ANCHOR id="annotation-glossterm-element-type" href="Ufo/annotation-glossary.html#annotation-glossterm-element-type">
-<ANCHOR id="annotation-glossterm-allow-none" href="Ufo/annotation-glossary.html#annotation-glossterm-allow-none">
 <ANCHOR id="annotation-glossterm-scope call" href="Ufo/annotation-glossary.html#annotation-glossterm-scope call">
+<ANCHOR id="annotation-glossterm-transfer none" href="Ufo/annotation-glossary.html#annotation-glossterm-transfer none">
+<ANCHOR id="annotation-glossterm-allow-none" href="Ufo/annotation-glossary.html#annotation-glossterm-allow-none">
+<ANCHOR id="annotation-glossterm-transfer full" href="Ufo/annotation-glossary.html#annotation-glossterm-transfer full">
diff --git a/docs/manual/install/linux.rst b/docs/manual/install/linux.rst
index c28f4c0..e07b535 100644
--- a/docs/manual/install/linux.rst
+++ b/docs/manual/install/linux.rst
@@ -17,8 +17,7 @@ UFO has only a few hard source dependencies, namely
 
 Furthermore, it is necessary to build the framework with a recent version of
 `CMake <http://cmake.org>`_.  `Sphinx <http://sphinx.pocoo.org>`_ is used to
-create this documentation and `Bazaar <bazaar.canonical.com>`_ for revision
-control.
+create this documentation.
 
 In case you use openSUSE, just issue ::
 
@@ -27,14 +26,7 @@ In case you use openSUSE, just issue ::
     $ zypper install gtk-doc python-Sphinx
     $ zypper install libtiff-devel
 
-to install dependencies from the package repositories. Depending on which system
-you are using you have to install ZeroMQ 3.2 from source ::
-
-    $ wget http://download.zeromq.org/zeromq-3.2.2.tar.gz
-    $ tar xfz zeromq-3.2.2.tar.gz
-    $ cd zeromq-3.2.2
-    $ ./configure && make && make distcheck
-    $ make install
+to install dependencies from the package repositories.
 
 OpenCL development files must be installed in order to build UFO. However, we
 cannot give general advices as installation procedures vary between different
@@ -42,6 +34,20 @@ vendors. However, our CMake build facility is in most cases intelligent enough
 to find header files and libraries for NVIDIA CUDA and AMD APP SDKs.
 
 
+Quick deployment
+================
+
+UFO comes with a ``deploy.sh`` script located in ``$UFO_ROOT/tools``. The
+easiest way to install UFO is::
+
+    wget -O - https://raw.github.com/ufo-kit/ufo-core/master/tools/deploy.sh | bash
+
+However, you are strongly advised to read the script and check for malicious
+intentions. If you run it directly you can also provide a prefix and a lib dir::
+
+    ./deploy.sh $HOME/usr $HOME/usr/lib64
+
+
 Retrieving the source code
 ==========================
 
@@ -59,15 +65,6 @@ issue::
     $ git tag -l
 
 
-Quick deployment
-================
-
-UFO comes with a deploy script located in ``$UFO_ROOT/tools``. If executed
-without any arguments it will try to build and install ZeroMQ, UFO (core and
-filters) and oclfft for ``/usr/local``. You can set the installation prefix as
-an argument to install it into your home directory.
-
-
 System-wide installation
 ========================
 
diff --git a/tests/test-suite.h b/tests/test-suite.h
index bae1d66..cd39c8c 100644
--- a/tests/test-suite.h
+++ b/tests/test-suite.h
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2011-2013 Karlsruhe Institute of Technology
+ *
+ * This file is part of Ufo.
+ *
+ * This library is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #ifndef TEST_SUITE_H
 #define TEST_SUITE_H
 
diff --git a/ufo/Makefile.am b/ufo/Makefile.am
index 62c3cc1..bc000b0 100644
--- a/ufo/Makefile.am
+++ b/ufo/Makefile.am
@@ -8,6 +8,8 @@ AM_CPPFLAGS = \
 # ufo library
 
 ufo_sources = \
+    compat.h \
+    compat.c \
     ufo-arch-graph.c \
     ufo-buffer.c \
     ufo-configurable.c \
diff --git a/ufo/Makefile.in b/ufo/Makefile.in
index 2010e33..35167d5 100644
--- a/ufo/Makefile.in
+++ b/ufo/Makefile.in
@@ -138,26 +138,27 @@ libufo_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
 am__libufo_la_SOURCES_DIST = ufo-enums.h ufo-enums.c zmq-shim.h \
-	ufo-arch-graph.c ufo-buffer.c ufo-configurable.c ufo-config.c \
-	ufo-cpu-node.c ufo-cpu-task-iface.c ufo-daemon.c \
-	ufo-dummy-task.c ufo-gpu-node.c ufo-gpu-task-iface.c \
-	ufo-graph.c ufo-group.c ufo-input-task.c ufo-messenger-iface.c \
-	ufo-node.c ufo-output-task.c ufo-plugin-manager.c \
-	ufo-profiler.c ufo-remote-node.c ufo-remote-task.c \
-	ufo-resources.c ufo-scheduler.c ufo-task-iface.c \
-	ufo-task-graph.c ufo-task-node.c ufo-basic-ops.c \
-	ufo-zmq-messenger.c ufo-mpi-messenger.c
+	compat.h compat.c ufo-arch-graph.c ufo-buffer.c \
+	ufo-configurable.c ufo-config.c ufo-cpu-node.c \
+	ufo-cpu-task-iface.c ufo-daemon.c ufo-dummy-task.c \
+	ufo-gpu-node.c ufo-gpu-task-iface.c ufo-graph.c ufo-group.c \
+	ufo-input-task.c ufo-messenger-iface.c ufo-node.c \
+	ufo-output-task.c ufo-plugin-manager.c ufo-profiler.c \
+	ufo-remote-node.c ufo-remote-task.c ufo-resources.c \
+	ufo-scheduler.c ufo-task-iface.c ufo-task-graph.c \
+	ufo-task-node.c ufo-basic-ops.c ufo-zmq-messenger.c \
+	ufo-mpi-messenger.c
 @WITH_MPI_TRUE at am__objects_1 = ufo-mpi-messenger.lo
-am__objects_2 = ufo-arch-graph.lo ufo-buffer.lo ufo-configurable.lo \
-	ufo-config.lo ufo-cpu-node.lo ufo-cpu-task-iface.lo \
-	ufo-daemon.lo ufo-dummy-task.lo ufo-gpu-node.lo \
-	ufo-gpu-task-iface.lo ufo-graph.lo ufo-group.lo \
-	ufo-input-task.lo ufo-messenger-iface.lo ufo-node.lo \
-	ufo-output-task.lo ufo-plugin-manager.lo ufo-profiler.lo \
-	ufo-remote-node.lo ufo-remote-task.lo ufo-resources.lo \
-	ufo-scheduler.lo ufo-task-iface.lo ufo-task-graph.lo \
-	ufo-task-node.lo ufo-basic-ops.lo ufo-zmq-messenger.lo \
-	$(am__objects_1)
+am__objects_2 = compat.lo ufo-arch-graph.lo ufo-buffer.lo \
+	ufo-configurable.lo ufo-config.lo ufo-cpu-node.lo \
+	ufo-cpu-task-iface.lo ufo-daemon.lo ufo-dummy-task.lo \
+	ufo-gpu-node.lo ufo-gpu-task-iface.lo ufo-graph.lo \
+	ufo-group.lo ufo-input-task.lo ufo-messenger-iface.lo \
+	ufo-node.lo ufo-output-task.lo ufo-plugin-manager.lo \
+	ufo-profiler.lo ufo-remote-node.lo ufo-remote-task.lo \
+	ufo-resources.lo ufo-scheduler.lo ufo-task-iface.lo \
+	ufo-task-graph.lo ufo-task-node.lo ufo-basic-ops.lo \
+	ufo-zmq-messenger.lo $(am__objects_1)
 am_libufo_la_OBJECTS = ufo-enums.lo $(am__objects_2)
 libufo_la_OBJECTS = $(am_libufo_la_OBJECTS)
 AM_V_lt = $(am__v_lt_ at AM_V@)
@@ -405,15 +406,16 @@ AM_CPPFLAGS = -DUFO_COMPILATION -DUFO_PLUGIN_DIR=\"$(pkglibdir)\" \
 	-DUFO_KERNEL_DIR=\"$(pkgdatadir)\" $(am__append_3)
 
 # ufo library
-ufo_sources = ufo-arch-graph.c ufo-buffer.c ufo-configurable.c \
-	ufo-config.c ufo-cpu-node.c ufo-cpu-task-iface.c ufo-daemon.c \
-	ufo-dummy-task.c ufo-gpu-node.c ufo-gpu-task-iface.c \
-	ufo-graph.c ufo-group.c ufo-input-task.c ufo-messenger-iface.c \
-	ufo-node.c ufo-output-task.c ufo-plugin-manager.c \
-	ufo-profiler.c ufo-remote-node.c ufo-remote-task.c \
-	ufo-resources.c ufo-scheduler.c ufo-task-iface.c \
-	ufo-task-graph.c ufo-task-node.c ufo-basic-ops.c \
-	ufo-zmq-messenger.c $(am__append_1)
+ufo_sources = compat.h compat.c ufo-arch-graph.c ufo-buffer.c \
+	ufo-configurable.c ufo-config.c ufo-cpu-node.c \
+	ufo-cpu-task-iface.c ufo-daemon.c ufo-dummy-task.c \
+	ufo-gpu-node.c ufo-gpu-task-iface.c ufo-graph.c ufo-group.c \
+	ufo-input-task.c ufo-messenger-iface.c ufo-node.c \
+	ufo-output-task.c ufo-plugin-manager.c ufo-profiler.c \
+	ufo-remote-node.c ufo-remote-task.c ufo-resources.c \
+	ufo-scheduler.c ufo-task-iface.c ufo-task-graph.c \
+	ufo-task-node.c ufo-basic-ops.c ufo-zmq-messenger.c \
+	$(am__append_1)
 ufo_headers = ufo-arch-graph.h ufo-buffer.h ufo-configurable.h \
 	ufo-config.h ufo-cpu-node.h ufo-cpu-task-iface.h ufo-daemon.h \
 	ufo-dummy-task.h ufo-gpu-node.h ufo-gpu-task-iface.h \
@@ -534,6 +536,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/compat.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ufo-arch-graph.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ufo-basic-ops.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ufo-buffer.Plo at am__quote@
diff --git a/ufo/compat.c b/ufo/compat.c
new file mode 100644
index 0000000..b3f30b8
--- /dev/null
+++ b/ufo/compat.c
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2011-2013 Karlsruhe Institute of Technology
+ *
+ * This file is part of Ufo.
+ *
+ * This library is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <glib.h>
+#include "compat.h"
+
+
+#if !GLIB_CHECK_VERSION(2, 31, 0)
+gpointer
+g_async_queue_timeout_pop (GAsyncQueue *queue,
+                           guint64 timeout)
+{
+    GTimeVal end_time;
+
+    g_get_current_time (&end_time);
+    g_time_val_add (&end_time, timeout);
+    return g_async_queue_timed_pop (queue, &end_time);
+}
+#endif
diff --git a/ufo/compat.h b/ufo/compat.h
new file mode 100644
index 0000000..d481139
--- /dev/null
+++ b/ufo/compat.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2011-2013 Karlsruhe Institute of Technology
+ *
+ * This file is part of Ufo.
+ *
+ * This library is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __COMPAT_H
+#define __COMPAT_H
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+#if !GLIB_CHECK_VERSION(2, 31, 0)
+gpointer    g_async_queue_timeout_pop (GAsyncQueue *queue,
+                                       guint64 timeout);
+#endif
+
+G_END_DECLS
+
+#endif
diff --git a/ufo/ufo-basic-ops.c b/ufo/ufo-basic-ops.c
index 44c9686..4e38784 100644
--- a/ufo/ufo-basic-ops.c
+++ b/ufo/ufo-basic-ops.c
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2011-2013 Karlsruhe Institute of Technology
+ *
+ * This file is part of Ufo.
+ *
+ * This library is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #ifdef __APPLE__
 #include <OpenCL/cl.h>
 #else
diff --git a/ufo/ufo-basic-ops.h b/ufo/ufo-basic-ops.h
index ef08984..3c12cd8 100644
--- a/ufo/ufo-basic-ops.h
+++ b/ufo/ufo-basic-ops.h
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2011-2013 Karlsruhe Institute of Technology
+ *
+ * This file is part of Ufo.
+ *
+ * This library is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #ifndef __UFO_BASIC_OPS
 #define __UFO_BASIC_OPS
 
diff --git a/ufo/ufo-config.c b/ufo/ufo-config.c
index aad6a7b..2a723ee 100644
--- a/ufo/ufo-config.c
+++ b/ufo/ufo-config.c
@@ -261,7 +261,7 @@ ufo_config_init (UfoConfig *config)
 
     config->priv = priv = UFO_CONFIG_GET_PRIVATE (config);
     priv->path_array = g_value_array_new (0);
-    priv->device_type = UFO_DEVICE_ALL;
+    priv->device_type = UFO_DEVICE_GPU;
 
     add_path ("/usr/local/lib64/ufo", priv);
     add_path ("/usr/local/lib/ufo", priv);
diff --git a/ufo/ufo-enums.c b/ufo/ufo-enums.c
index 20abb24..6e3dcad 100644
--- a/ufo/ufo-enums.c
+++ b/ufo/ufo-enums.c
@@ -1,6 +1,25 @@
 
 /* Generated data (by glib-mkenums) */
 
+/*
+ * Copyright (C) 2011-2013 Karlsruhe Institute of Technology
+ *
+ * This file is part of Ufo.
+ *
+ * This library is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #include <config.h>
 
 #include "ufo-enums.h"
diff --git a/ufo/ufo-enums.c.template b/ufo/ufo-enums.c.template
index a08b1e6..7d8c9f3 100644
--- a/ufo/ufo-enums.c.template
+++ b/ufo/ufo-enums.c.template
@@ -1,4 +1,23 @@
 /*** BEGIN file-header ***/
+/*
+ * Copyright (C) 2011-2013 Karlsruhe Institute of Technology
+ *
+ * This file is part of Ufo.
+ *
+ * This library is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #include <config.h>
 
 #include "ufo-enums.h"
diff --git a/ufo/ufo-enums.h b/ufo/ufo-enums.h
index 6769cb4..25e8ea7 100644
--- a/ufo/ufo-enums.h
+++ b/ufo/ufo-enums.h
@@ -1,6 +1,24 @@
 
 /* Generated data (by glib-mkenums) */
 
+/*
+ * Copyright (C) 2011-2013 Karlsruhe Institute of Technology
+ *
+ * This file is part of Ufo.
+ *
+ * This library is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
 
 #ifndef UFO_ENUMS_H
 #define UFO_ENUMS_H
diff --git a/ufo/ufo-enums.h.template b/ufo/ufo-enums.h.template
index 6484bc7..2a441d7 100644
--- a/ufo/ufo-enums.h.template
+++ b/ufo/ufo-enums.h.template
@@ -1,4 +1,22 @@
 /*** BEGIN file-header ***/
+/*
+ * Copyright (C) 2011-2013 Karlsruhe Institute of Technology
+ *
+ * This file is part of Ufo.
+ *
+ * This library is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
 
 #ifndef UFO_ENUMS_H
 #define UFO_ENUMS_H
diff --git a/ufo/ufo-input-task.c b/ufo/ufo-input-task.c
index 7191839..0ec2f5f 100644
--- a/ufo/ufo-input-task.c
+++ b/ufo/ufo-input-task.c
@@ -31,6 +31,8 @@
 #include <ufo/ufo-input-task.h>
 #include <ufo/ufo-cpu-task-iface.h>
 
+#include "compat.h"
+
 /**
  * SECTION:ufo-input-task
  * @Short_description: An input task
@@ -144,7 +146,14 @@ ufo_input_task_get_requisition (UfoTask *task,
 
     /* Pop input here but release later in ufo_input_task_generate */
     if (priv->active) {
-        priv->input = g_async_queue_pop (priv->in_queue);
+        priv->input = NULL;
+
+        while (priv->active && priv->input == NULL)
+            priv->input = g_async_queue_timeout_pop (priv->in_queue, G_USEC_PER_SEC / 10);
+
+        if (priv->input == NULL)
+            return;
+
         ufo_buffer_get_requisition (priv->input, requisition);
     }
 }
diff --git a/ufo/ufo-node.c b/ufo/ufo-node.c
index 2e9d941..35e9790 100644
--- a/ufo/ufo-node.c
+++ b/ufo/ufo-node.c
@@ -76,11 +76,13 @@ copy_properties (GObject *dst,
     props = g_object_class_list_properties (G_OBJECT_GET_CLASS (src), &n_props);
 
     for (guint i = 0; i < n_props; i++) {
-        GValue value = {0};
+        if (props[i]->flags & G_PARAM_WRITABLE) {
+            GValue value = {0};
 
-        g_value_init (&value, props[i]->value_type);
-        g_object_get_property (G_OBJECT (src), props[i]->name, &value);
-        g_object_set_property (G_OBJECT (dst), props[i]->name, &value);
+            g_value_init (&value, props[i]->value_type);
+            g_object_get_property (G_OBJECT (src), props[i]->name, &value);
+            g_object_set_property (G_OBJECT (dst), props[i]->name, &value);
+        }
     }
 
     g_free (props);
diff --git a/ufo/ufo-output-task.c b/ufo/ufo-output-task.c
index 71d126d..2784f4a 100644
--- a/ufo/ufo-output-task.c
+++ b/ufo/ufo-output-task.c
@@ -93,7 +93,7 @@ UfoBuffer *
 ufo_output_task_get_output_buffer (UfoOutputTask *task)
 {
     g_return_val_if_fail (UFO_IS_OUTPUT_TASK (task), NULL);
-    return g_async_queue_pop (task->priv->out_queue);
+    return g_object_ref (g_async_queue_pop (task->priv->out_queue));
 }
 
 void
@@ -150,12 +150,13 @@ ufo_output_task_process (UfoCpuTask *task,
 
     if (priv->n_copies == 0) {
         copy = ufo_buffer_dup (outputs[0]);
-        g_async_queue_push (priv->in_queue, copy);
         priv->copies = g_list_append (priv->copies, copy);
         priv->n_copies++;
     }
+    else {
+        copy = g_async_queue_pop (priv->in_queue);
+    }
 
-    copy = g_async_queue_pop (priv->in_queue);
     ufo_buffer_copy (outputs[0], copy);
     g_async_queue_push (priv->out_queue, copy);
     return TRUE;
diff --git a/ufo/ufo-resources.c b/ufo/ufo-resources.c
index 84f93f0..45eb081 100644
--- a/ufo/ufo-resources.c
+++ b/ufo/ufo-resources.c
@@ -1021,5 +1021,5 @@ ufo_resources_init (UfoResources *self)
     priv->include_paths = g_list_append (NULL, g_strdup ("."));
 
     priv->kernel_paths = g_list_append (NULL, g_strdup ("."));
-    priv->kernel_paths = g_list_append (NULL, g_strdup (UFO_KERNEL_DIR));
+    priv->kernel_paths = g_list_append (priv->kernel_paths, g_strdup (UFO_KERNEL_DIR));
 }
diff --git a/ufo/ufo-scheduler.c b/ufo/ufo-scheduler.c
index 6d3a1ac..66c7aec 100644
--- a/ufo/ufo-scheduler.c
+++ b/ufo/ufo-scheduler.c
@@ -458,6 +458,50 @@ cleanup_task_local_data (TaskLocalData **tlds,
     g_free (tlds);
 }
 
+static gboolean
+check_target_connections (UfoTaskGraph *graph,
+                          UfoNode *target,
+                          guint n_inputs,
+                          GError **error)
+{
+    GList *predecessors;
+    guint16 connection_bitmap;
+    guint16 mask;
+    gboolean result = TRUE;
+
+    if (n_inputs == 0)
+        return TRUE;
+
+    predecessors = ufo_graph_get_predecessors (UFO_GRAPH (graph), target);
+    connection_bitmap = 0;
+
+    /* Check all edges and enable bit number for edge label */
+    for (GList *it = g_list_first (predecessors); it != NULL; it = g_list_next (it)) {
+        gpointer label;
+        gint input;
+
+        label = ufo_graph_get_edge_label (UFO_GRAPH (graph),
+                                          UFO_NODE (it->data), target);
+        input = GPOINTER_TO_INT (label);
+        g_assert (input >= 0 && input < 16);
+        connection_bitmap |= 1 << input;
+    }
+
+    mask = (1 << n_inputs) - 1;
+
+    /* Check if mask matches what we have */
+    if ((mask & connection_bitmap) != mask) {
+        g_set_error (error, UFO_SCHEDULER_ERROR, UFO_SCHEDULER_ERROR_SETUP,
+                     "Not all inputs of `%s' are connected",
+                     ufo_task_node_get_plugin_name (UFO_TASK_NODE (target)));
+
+        result = FALSE;
+    }
+
+    g_list_free (predecessors);
+    return result;
+}
+
 static TaskLocalData **
 setup_tasks (UfoSchedulerPrivate *priv,
              UfoTaskGraph *task_graph,
@@ -483,8 +527,12 @@ setup_tasks (UfoSchedulerPrivate *priv,
         tlds[i] = tld;
 
         ufo_task_setup (UFO_TASK (node), priv->resources, error);
+
         ufo_task_get_structure (UFO_TASK (node), &tld->n_inputs, &tld->in_params, &tld->mode);
 
+        if (!check_target_connections (task_graph, node, tld->n_inputs, error))
+            return NULL;
+
         profiler = ufo_task_node_get_profiler (UFO_TASK_NODE (node));
         ufo_profiler_enable_tracing (profiler, priv->trace);
 
diff --git a/ufo/ufo-task-node.c b/ufo/ufo-task-node.c
index c46d68f..f50bf56 100644
--- a/ufo/ufo-task-node.c
+++ b/ufo/ufo-task-node.c
@@ -163,6 +163,8 @@ ufo_task_node_get_current_in_group (UfoTaskNode *node,
                                     guint pos)
 {
     g_return_val_if_fail (UFO_IS_TASK_NODE (node), NULL);
+    g_assert (pos < 16);
+    g_assert (node->priv->current[pos] != NULL);
     return UFO_GROUP (node->priv->current[pos]->data);
 }
 
diff --git a/ufo/zmq-shim.h b/ufo/zmq-shim.h
index 7c19973..b92a6ed 100644
--- a/ufo/zmq-shim.h
+++ b/ufo/zmq-shim.h
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2011-2013 Karlsruhe Institute of Technology
+ *
+ * This file is part of Ufo.
+ *
+ * This library is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #include <zmq.h>
 
 #ifndef ZMQ_DONTWAIT

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ufo-core.git



More information about the debian-science-commits mailing list