Hello community,

here is the log from the commit of package libqb for openSUSE:Factory checked 
in at 2013-11-12 15:10:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqb (Old)
 and      /work/SRC/openSUSE:Factory/.libqb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqb"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libqb/libqb.changes      2013-09-25 
17:18:13.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libqb.new/libqb.changes 2013-11-12 
15:10:39.000000000 +0100
@@ -1,0 +2,14 @@
+Wed Oct 23 15:16:01 UTC 2013 - [email protected]
+
+- ipc_setup: Set SO_PASSCRED on listener socket
+- log: Filtering by function and file must match exactly, no substring matches
+- blackbox: Abort blackbox logging on ringbuffer overwrite reclaim error
+- ipcs: Api function allowing server to retrieve client connection's ipc 
buffer size
+- ringbuffer: Abort during chunk reclaim if OVERWRITE flag is set and reclaim 
fails.
+- blackbox: unique blackbox ringbuffer files per pid
+- ipc_socket: Fixes fd leak in socket ipc client disconnection
+- Detect the max signal value that can be used using NSIG macro
+- Avoid double-decrement of level->todo
+- Upstream version cs: b4c36efff8b91f287da87590911a01184243cf64
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libqb.spec ++++++
--- /var/tmp/diff_new_pack.ubQdbW/_old  2013-11-12 15:10:40.000000000 +0100
+++ /var/tmp/diff_new_pack.ubQdbW/_new  2013-11-12 15:10:40.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           libqb
-Version:        0.16.0
+Version:        0.16.0.21
 Release:        0
 Summary:        An IPC library for high performance servers
 License:        LGPL-2.1+

++++++ _service ++++++
--- /var/tmp/diff_new_pack.ubQdbW/_old  2013-11-12 15:10:40.000000000 +0100
+++ /var/tmp/diff_new_pack.ubQdbW/_new  2013-11-12 15:10:40.000000000 +0100
@@ -8,7 +8,7 @@
     git commit hash and bump "version" if necessary
 -->
     <param name="version">0.16.0</param>
-    <param name="revision">75f7ed373758b3cb9087e89e4fae17379dd7b483</param>
+    <param name="revision">b4c36efff8b91f287da87590911a01184243cf64</param>
   </service>
 
   <service name="recompress" mode="disabled">

++++++ libqb.tar.bz2 ++++++
++++ 2106 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/.tarball-version new/libqb/.tarball-version
--- old/libqb/.tarball-version  2013-07-26 03:10:21.000000000 +0200
+++ new/libqb/.tarball-version  2013-10-23 16:46:47.000000000 +0200
@@ -1 +1 @@
-0.16.0
+0.16.0.21-b4c3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/.version new/libqb/.version
--- old/libqb/.version  2013-07-26 03:10:02.000000000 +0200
+++ new/libqb/.version  2013-10-23 16:45:55.000000000 +0200
@@ -1 +1 @@
-0.16.0
+0.16.0.21-b4c3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/ChangeLog new/libqb/ChangeLog
--- old/libqb/ChangeLog 2013-07-26 03:10:21.000000000 +0200
+++ new/libqb/ChangeLog 2013-10-23 16:46:47.000000000 +0200
@@ -1,3 +1,93 @@
+2013-10-22  David Vossel  <[email protected]>
+
+       Merge pull request #96 from jfriesse/master
+       ipc_setup: Set SO_PASSCRED on listener socket
+
+2013-10-21  Jan Friesse  <[email protected]>
+
+       ipc_setup: Set SO_PASSCRED on listener socket
+       This is needed, because newer kernels doesn't correctly support setting
+       SO_PASSCRED on sockets returned by accept call, but socket option must
+       be set on server socket (before accept call).
+
+       For more details, see:
+       http://patchwork.ozlabs.org/patch/284366/
+
+2013-10-18  David Vossel  <[email protected]>
+
+       Merge pull request #95 from davidvossel/master
+       Fix: log: Filtering by function and file must match exactly, no 
substrin...
+
+       Fix: log: Filtering by function and file must match exactly, no 
substring matches
+
+2013-10-10  David Vossel  <[email protected]>
+
+       Merge pull request #93 from davidvossel/master
+       ipc and blackbox fixes
+
+2013-10-09  David Vossel  <[email protected]>
+
+       Low: blackbox: Abort blackbox logging on ringbuffer overwrite reclaim 
error
+
+       High: ipcs: Api function allowing server to retrieve client 
connection's ipc buffer size
+
+       Merge pull request #92 from davidvossel/blackbox_unique_files
+       Blackbox unique files
+
+2013-10-04  David Vossel  <[email protected]>
+
+       Low: ringbuffer: Abort during chunk reclaim if OVERWRITE flag is set 
and reclaim fails.
+
+       High: blackbox: unique blackbox ringbuffer files per pid
+
+2013-09-18  David Vossel  <[email protected]>
+
+       Merge pull request #91 from VladMalov/patch-1
+
+2013-09-18  VladMalov  <[email protected]>
+
+       Update README.markdown
+       ClusterLabs not clusterlabs - git hub is case sensitive now days.
+
+2013-09-17  David Vossel  <[email protected]>
+
+       Merge pull request #90 from davidvossel/master
+       Low: ipc_socket: Fixes fd leak in socket ipc client disconnection
+
+       Low: ipc_socket: Fixes fd leak in socket ipc client disconnection
+
+2013-09-04  David Vossel  <[email protected]>
+
+       Merge pull request #88 from r1mikey/master
+       Fix sockaddr_un.sun_path overflow on Mac OS X 10.9
+
+2013-09-03  Michael van der Westhuizen  <[email protected]>
+
+       Use sizeof to get the correct size of the sockaddr_un sun_path member 
in a portable way. Fixes corosync on Mac OS X.
+
+2013-08-20  David Vossel  <[email protected]>
+
+       Merge pull request #87 from anchor/del-during-dispatch-v2
+       Avoid double-decrement of level->todo
+
+       Detect the max signal value that can be used using NSIG macro
+
+2013-08-20  Michael Chapman  <[email protected]>
+
+       Avoid double-decrement of level->todo
+       If a job's dispatch function deletes the job, we may end up decrementing
+       the job queue's todo count twice. Verify that the job is on the queue
+       before decrementing.
+
+2013-08-20  David Vossel  <[email protected]>
+
+       Merge pull request #85 from r1mikey/master
+       Use a system-supplied maximum number of signals on Mac OS X.
+
+2013-08-12  Michael van der Westhuizen  <[email protected]>
+
+       Use a system-supplied maximum number of signals on Mac OS X.  This gets 
SIGUSR2 (#31) working.
+
 2013-07-26  David Vossel  <[email protected]>
 
        Bump version to 0.16.0 ... do not use version 0.15.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/README.markdown new/libqb/README.markdown
--- old/libqb/README.markdown   2013-07-02 11:27:40.000000000 +0200
+++ new/libqb/README.markdown   2013-09-26 16:27:01.000000000 +0200
@@ -26,7 +26,7 @@
 
 ## Source Control (GIT)
 
-    git clone git://github.com/clusterlabs/libqb.git
+    git clone git://github.com/ClusterLabs/libqb.git
 
 [See Github](https://github.com/clusterlabs/libqb)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/docs/html.dox new/libqb/docs/html.dox
--- old/libqb/docs/html.dox     2013-07-26 03:09:56.000000000 +0200
+++ new/libqb/docs/html.dox     2013-10-23 16:45:53.000000000 +0200
@@ -1,6 +1,6 @@
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = libqb
-PROJECT_NUMBER         = 0.16.0
+PROJECT_NUMBER         = 0.16.0.21-b4c3
 OUTPUT_DIRECTORY       = .
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/docs/man.dox new/libqb/docs/man.dox
--- old/libqb/docs/man.dox      2013-07-26 03:09:56.000000000 +0200
+++ new/libqb/docs/man.dox      2013-10-23 16:45:53.000000000 +0200
@@ -1,6 +1,6 @@
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = libqb
-PROJECT_NUMBER         = 0.16.0
+PROJECT_NUMBER         = 0.16.0.21-b4c3
 OUTPUT_DIRECTORY       = .
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/include/qb/qbipcs.h new/libqb/include/qb/qbipcs.h
--- old/libqb/include/qb/qbipcs.h       2013-07-22 08:51:47.000000000 +0200
+++ new/libqb/include/qb/qbipcs.h       2013-10-22 11:56:11.000000000 +0200
@@ -260,6 +260,10 @@
  *
  * @note the iov[0] must be a qb_ipc_response_header. The client will
  * read the size field to determine how much to recv.
+ *
+ * @note When send returns -EMSGSIZE, this means the msg is too
+ * large and will never succeed. To determine the max msg size
+ * a client can be sent, use qb_ipcs_connection_get_buffer_size()
  */
 ssize_t qb_ipcs_response_sendv(qb_ipcs_connection_t *c,
                               const struct iovec * iov, size_t iov_len);
@@ -275,6 +279,10 @@
  * @note the data must include a qb_ipc_response_header at
  * the top of the message. The client will read the size field
  * to determine how much to recv.
+ *
+ * @note When send returns -EMSGSIZE, this means the msg is too
+ * large and will never succeed. To determine the max msg size
+ * a client can be sent, use qb_ipcs_connection_get_buffer_size()
  */
 ssize_t qb_ipcs_event_send(qb_ipcs_connection_t *c, const void *data,
                           size_t size);
@@ -289,6 +297,10 @@
  *
  * @note the iov[0] must be a qb_ipc_response_header. The client will
  * read the size field to determine how much to recv.
+ *
+ * @note When send returns -EMSGSIZE, this means the msg is too
+ * large and will never succeed. To determine the max msg size
+ * a client can be sent, use qb_ipcs_connection_get_buffer_size()
  */
 ssize_t qb_ipcs_event_sendv(qb_ipcs_connection_t *c, const struct iovec * iov,
                            size_t iov_len);
@@ -423,6 +435,14 @@
 void qb_ipcs_connection_auth_set(qb_ipcs_connection_t *conn, uid_t uid,
                                 gid_t gid, mode_t mode);
 
+/**
+ * Retrieve the connection ipc buffer size. This reflects the
+ * largest size msg that can be sent or received.
+ *
+ * @param conn connection instance
+ * @return msg size in bytes, negative value on error.
+ */
+int32_t qb_ipcs_connection_get_buffer_size(qb_ipcs_connection_t *conn);
 
 /* *INDENT-OFF* */
 #ifdef __cplusplus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/include/qb/qbrb.h new/libqb/include/qb/qbrb.h
--- old/libqb/include/qb/qbrb.h 2012-06-15 04:14:27.000000000 +0200
+++ new/libqb/include/qb/qbrb.h 2013-10-22 11:56:11.000000000 +0200
@@ -170,9 +170,10 @@
 /**
  * Allocate space for a chunk of the given size.
  *
- * If type == QB_RB_FLAG_OVERWRITE then this will always return non-null
- * but if it's type is QB_RB_NORMAL then when there is not enough space then
- * it will return NULL.
+ * If type == QB_RB_FLAG_OVERWRITE and NULL is returned, memory corruption of
+ * the memory file has occured. The ringbuffer should be destroyed.
+ * If type == QB_RB_NORMAL then when there is not enough space it will
+ * return NULL.
  *
  * @param rb ringbuffer instance
  * @param len (in) the size to allocate.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/lib/ipc_setup.c new/libqb/lib/ipc_setup.c
--- old/libqb/lib/ipc_setup.c   2013-07-22 08:51:47.000000000 +0200
+++ new/libqb/lib/ipc_setup.c   2013-10-22 11:56:11.000000000 +0200
@@ -266,7 +266,7 @@
 #if defined(QB_LINUX) || defined(QB_CYGWIN)
        snprintf(address.sun_path + 1, UNIX_PATH_MAX - 1, "%s", socket_name);
 #else
-       snprintf(address.sun_path, UNIX_PATH_MAX, "%s/%s", SOCKETDIR,
+       snprintf(address.sun_path, sizeof(address.sun_path), "%s/%s", SOCKETDIR,
                 socket_name);
 #endif
        if (connect(request_fd, (struct sockaddr *)&address,
@@ -349,6 +349,9 @@
 {
        struct sockaddr_un un_addr;
        int32_t res;
+#ifdef SO_PASSCRED
+       int on = 1;
+#endif
 
        /*
         * Create socket for IPC clients, name socket, listen for connections
@@ -385,7 +388,7 @@
                                    SOCKETDIR);
                        goto error_close;
                }
-               snprintf(un_addr.sun_path, UNIX_PATH_MAX, "%s/%s", SOCKETDIR,
+               snprintf(un_addr.sun_path, sizeof(un_addr.sun_path), "%s/%s", 
SOCKETDIR,
                         s->name);
                unlink(un_addr.sun_path);
        }
@@ -407,6 +410,9 @@
 #if !defined(QB_LINUX) && !defined(QB_CYGWIN)
        res = chmod(un_addr.sun_path, S_IRWXU | S_IRWXG | S_IRWXO);
 #endif
+#ifdef SO_PASSCRED
+       setsockopt(s->server_sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on));
+#endif
        if (listen(s->server_sock, SERVER_BACKLOG) == -1) {
                qb_util_perror(LOG_ERR, "socket listen failed");
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/lib/ipc_shm.c new/libqb/lib/ipc_shm.c
--- old/libqb/lib/ipc_shm.c     2013-07-25 08:36:33.000000000 +0200
+++ new/libqb/lib/ipc_shm.c     2013-09-26 16:27:01.000000000 +0200
@@ -39,6 +39,7 @@
 static void
 qb_ipcc_shm_disconnect(struct qb_ipcc_connection *c)
 {
+       qb_ipcc_us_sock_close(c->setup.u.us.sock);
        if (c->is_connected) {
                qb_rb_close(c->request.u.shm.rb);
                qb_rb_close(c->response.u.shm.rb);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/lib/ipc_socket.c new/libqb/lib/ipc_socket.c
--- old/libqb/lib/ipc_socket.c  2013-07-25 08:36:33.000000000 +0200
+++ new/libqb/lib/ipc_socket.c  2013-09-26 16:27:01.000000000 +0200
@@ -53,7 +53,7 @@
 #if defined(QB_LINUX) || defined(QB_CYGWIN)
        snprintf(address->sun_path + 1, UNIX_PATH_MAX - 1, "%s", socket_name);
 #else
-       snprintf(address->sun_path, UNIX_PATH_MAX, "%s/%s", SOCKETDIR,
+       snprintf(address->sun_path, sizeof(address->sun_path), "%s/%s", 
SOCKETDIR,
                 socket_name);
 #endif
 }
@@ -281,8 +281,9 @@
 {
        munmap(c->request.u.us.shared_data, SHM_CONTROL_SIZE);
        unlink(c->request.u.us.shared_file_name);
-       close(c->request.u.us.sock);
-       close(c->event.u.us.sock);
+       qb_ipcc_us_sock_close(c->event.u.us.sock);
+       qb_ipcc_us_sock_close(c->request.u.us.sock);
+       qb_ipcc_us_sock_close(c->setup.u.us.sock);
 }
 
 static ssize_t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/lib/ipcc.c new/libqb/lib/ipcc.c
--- old/libqb/lib/ipcc.c        2013-07-22 08:51:47.000000000 +0200
+++ new/libqb/lib/ipcc.c        2013-09-26 16:27:01.000000000 +0200
@@ -383,7 +383,6 @@
 
        ow = _event_sock_one_way_get(c);
        (void)_check_connection_state_with(c, -EAGAIN, ow, 0, POLLIN);
-       qb_ipcc_us_sock_close(ow->u.us.sock);
 
        if (c->funcs.disconnect) {
                c->funcs.disconnect(c);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/lib/ipcs.c new/libqb/lib/ipcs.c
--- old/libqb/lib/ipcs.c        2013-07-25 08:36:33.000000000 +0200
+++ new/libqb/lib/ipcs.c        2013-10-22 11:56:11.000000000 +0200
@@ -941,3 +941,16 @@
                c->auth.mode = mode;
        }
 }
+
+int32_t
+qb_ipcs_connection_get_buffer_size(qb_ipcs_connection_t *c)
+{
+       if (c == NULL) {
+               return -EINVAL;
+       }
+
+       /* request, response, and event shoud all have the same
+        * buffer size allocated. It doesn't matter which we return
+        * here. */
+       return c->response.max_msg_size;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/lib/log.c new/libqb/lib/log.c
--- old/libqb/lib/log.c 2013-06-08 07:44:23.000000000 +0200
+++ new/libqb/lib/log.c 2013-10-22 11:56:11.000000000 +0200
@@ -103,9 +103,9 @@
                        snprintf(token, 499, "%.*s", (int)(next - offset), 
offset);
 
                        if (type == QB_LOG_FILTER_FILE) {
-                               match = (strstr(cs->filename, token) != NULL);
+                               match = (strcmp(cs->filename, token) == 0) ? 1 
: 0;
                        } else {
-                               match = (strstr(cs->function, token) != NULL);
+                               match = (strcmp(cs->function, token) == 0) ? 1 
: 0;
                        }
                        if (!match && next[0] != 0) {
                                next++;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/lib/log_blackbox.c new/libqb/lib/log_blackbox.c
--- old/libqb/lib/log_blackbox.c        2013-04-08 11:08:07.000000000 +0200
+++ new/libqb/lib/log_blackbox.c        2013-10-22 11:56:11.000000000 +0200
@@ -73,6 +73,14 @@
 
        chunk = qb_rb_chunk_alloc(t->instance, max_size);
 
+       if (chunk == NULL) {
+               /* something bad has happened. abort blackbox logging */
+               qb_util_perror(LOG_ERR, "Blackbox allocation error, aborting 
blackbox log %s", t->filename);
+               qb_rb_close(t->instance);
+               t->instance = NULL;
+               return;
+       }
+
        /* line number */
        memcpy(chunk, &cs->lineno, sizeof(uint32_t));
        chunk += sizeof(uint32_t);
@@ -136,7 +144,7 @@
        if (t->size < 1024) {
                return -EINVAL;
        }
-       snprintf(t->filename, PATH_MAX, "%s-blackbox", t->name);
+       snprintf(t->filename, PATH_MAX, "%s-%d-blackbox", t->name, getpid());
 
        t->instance = qb_rb_open(t->filename, t->size,
                                 QB_RB_FLAG_CREATE | QB_RB_FLAG_OVERWRITE, 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/lib/loop.c new/libqb/lib/loop.c
--- old/libqb/lib/loop.c        2013-03-07 09:03:14.000000000 +0100
+++ new/libqb/lib/loop.c        2013-09-11 04:41:09.000000000 +0200
@@ -63,6 +63,12 @@
 void
 qb_loop_level_item_del(struct qb_loop_level *level, struct qb_loop_item *job)
 {
+       /*
+        * We may be deleted during dispatch... don't double-decrement todo.
+        */
+       if (qb_list_empty(&job->list)) {
+               return;
+       }
        qb_list_del(&job->list);
        qb_list_init(&job->list);
        level->todo--;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/lib/loop_poll.c new/libqb/lib/loop_poll.c
--- old/libqb/lib/loop_poll.c   2013-03-07 09:03:14.000000000 +0100
+++ new/libqb/lib/loop_poll.c   2013-09-11 04:41:09.000000000 +0200
@@ -26,6 +26,16 @@
 
 #include <signal.h>
 
+#if defined(__DARWIN_NSIG)
+#define QB_MAX_NUM_SIGNALS __DARWIN_NSIG
+#else
+  #if defined(NSIG)
+  #define QB_MAX_NUM_SIGNALS NSIG - 1
+  #else
+  #define QB_MAX_NUM_SIGNALS 31
+  #endif
+#endif
+
 #include "loop_poll_int.h"
 
 /*
@@ -620,7 +630,7 @@
        sigemptyset(&sa.sa_mask);
 
        /* re-set to default */
-       for (i = 0; i < 30; i++) {
+       for (i = 0; i < QB_MAX_NUM_SIGNALS; i++) {
                needed = QB_FALSE;
                qb_list_for_each_entry(item, &s->sig_head, list) {
                        sig = (struct qb_loop_sig *)item;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/lib/ringbuffer.c new/libqb/lib/ringbuffer.c
--- old/libqb/lib/ringbuffer.c  2013-07-25 08:36:33.000000000 +0200
+++ new/libqb/lib/ringbuffer.c  2013-10-22 11:56:11.000000000 +0200
@@ -112,7 +112,7 @@
 } while (0)
 
 static void print_header(struct qb_ringbuffer_s * rb);
-static void _rb_chunk_reclaim(struct qb_ringbuffer_s * rb);
+static int _rb_chunk_reclaim(struct qb_ringbuffer_s * rb);
 
 qb_ringbuffer_t *
 qb_rb_open(const char *name, size_t size, uint32_t flags,
@@ -449,7 +449,11 @@
         */
        if (rb->flags & QB_RB_FLAG_OVERWRITE) {
                while (qb_rb_space_free(rb) < (len + QB_RB_CHUNK_MARGIN)) {
-                       _rb_chunk_reclaim(rb);
+                       int rc = _rb_chunk_reclaim(rb);
+                       if (rc != 0) {
+                               errno = rc;
+                               return NULL;
+                       }
                }
        } else {
                if (qb_rb_space_free(rb) < (len + QB_RB_CHUNK_MARGIN)) {
@@ -555,18 +559,19 @@
        return len;
 }
 
-static void
+static int
 _rb_chunk_reclaim(struct qb_ringbuffer_s * rb)
 {
        uint32_t old_read_pt;
        uint32_t new_read_pt;
        uint32_t old_chunk_size;
        uint32_t chunk_magic;
+       int rc = 0;
 
        old_read_pt = rb->shared_hdr->read_pt;
        chunk_magic = QB_RB_CHUNK_MAGIC_GET(rb, old_read_pt);
        if (chunk_magic != QB_RB_CHUNK_MAGIC) {
-               return;
+               return -EINVAL;
        }
 
        old_chunk_size = QB_RB_CHUNK_SIZE_GET(rb, old_read_pt);
@@ -587,7 +592,7 @@
        rb->shared_hdr->read_pt = new_read_pt;
 
        if (rb->notifier.reclaim_fn) {
-               int rc = rb->notifier.reclaim_fn(rb->notifier.instance,
+               rc = rb->notifier.reclaim_fn(rb->notifier.instance,
                                                 old_chunk_size);
                if (rc < 0) {
                        errno = -rc;
@@ -601,6 +606,8 @@
                     old_read_pt,
                     rb->shared_hdr->read_pt,
                     rb->shared_hdr->write_pt);
+
+       return rc;
 }
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/m4/libtool.m4 new/libqb/m4/libtool.m4
--- old/libqb/m4/libtool.m4     2012-06-07 11:26:53.000000000 +0200
+++ new/libqb/m4/libtool.m4     2013-10-23 16:45:15.000000000 +0200
@@ -1,8 +1,8 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
@@ -11,8 +11,8 @@
 
 m4_define([_LT_COPYING], [dnl
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -146,6 +146,8 @@
 AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
 
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build 
system])dnl
+dnl
 _LT_DECL([], [host_alias], [0], [The host system])dnl
 _LT_DECL([], [host], [0])dnl
 _LT_DECL([], [host_os], [0])dnl
@@ -637,7 +639,7 @@
 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
 configured by $[0], generated by m4_PACKAGE_STRING.
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2011 Free Software Foundation, Inc.
 This config.lt script is free software; the Free Software Foundation
 gives unlimited permision to copy, distribute and modify it."
 
@@ -801,6 +803,7 @@
 m4_case([$1],
   [C],                 [_LT_LANG(C)],
   [C++],               [_LT_LANG(CXX)],
+  [Go],                        [_LT_LANG(GO)],
   [Java],              [_LT_LANG(GCJ)],
   [Fortran 77],                [_LT_LANG(F77)],
   [Fortran],           [_LT_LANG(FC)],
@@ -822,6 +825,31 @@
 ])# _LT_LANG
 
 
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC],     [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+  fi
+fi
+if test -z "$GOC"; then
+  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
 # _LT_LANG_DEFAULT_CONFIG
 # -----------------------
 m4_defun([_LT_LANG_DEFAULT_CONFIG],
@@ -852,6 +880,10 @@
        m4_ifdef([LT_PROG_GCJ],
        [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
 
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+  [LT_LANG(GO)],
+  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
 AC_PROVIDE_IFELSE([LT_PROG_RC],
   [LT_LANG(RC)],
   [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
@@ -954,7 +986,13 @@
        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test 
$_lt_result = 0; then
+       # If there is a non-empty error log, and "single_module"
+       # appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+         cat conftest.err >&AS_MESSAGE_LOG_FD
+       # Otherwise, if the output was created with a 0 exit code from
+       # the compiler, it worked.
+       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
          lt_cv_apple_cc_single_mod=yes
        else
          cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -962,6 +1000,7 @@
        rm -rf libconftest.dylib*
        rm -f conftest.*
       fi])
+
     AC_CACHE_CHECK([for -exported_symbols_list linker flag],
       [lt_cv_ld_exported_symbols_list],
       [lt_cv_ld_exported_symbols_list=no
@@ -973,6 +1012,7 @@
        [lt_cv_ld_exported_symbols_list=no])
        LDFLAGS="$save_LDFLAGS"
     ])
+
     AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
       [lt_cv_ld_force_load=no
       cat > conftest.c << _LT_EOF
@@ -990,7 +1030,9 @@
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c 
-Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c 
-Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && 
$GREP forced_load conftest 2>&1 >/dev/null; then
+      if test -s conftest.err && $GREP force_load conftest.err; then
+       cat conftest.err >&AS_MESSAGE_LOG_FD
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load 
conftest >/dev/null 2>&1 ; then
        lt_cv_ld_force_load=yes
       else
        cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1035,8 +1077,8 @@
 ])
 
 
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
 # Checks for linker and compiler features on darwin
 m4_defun([_LT_DARWIN_LINKER_FEATURES],
 [
@@ -1047,6 +1089,8 @@
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
   if test "$lt_cv_ld_force_load" = "yes"; then
     _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do 
test  -n \"$conv\" && new_convenience=\"$new_convenience 
${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
   else
     _LT_TAGVAR(whole_archive_flag_spec, $1)=''
   fi
@@ -1330,14 +1374,27 @@
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-sparc*-*solaris*)
+*-*solaris*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
       *)
        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
          LD="${LD-ld} -64"
@@ -1414,13 +1471,13 @@
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
 fi
 
 case $host_os in
@@ -1600,6 +1657,11 @@
     lt_cv_sys_max_cmd_len=196608
     ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -1639,7 +1701,7 @@
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 
2>/dev/null` \
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
                 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
              test $i != 17 # 1/2 MB should be enough
       do
@@ -2185,7 +2247,7 @@
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -2194,7 +2256,7 @@
   ;;
 
 aix[[4-9]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -2259,7 +2321,7 @@
   ;;
 
 bsdi[[45]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -2398,7 +2460,7 @@
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -2406,10 +2468,6 @@
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -2417,7 +2475,7 @@
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
+    freebsd[[23]].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -2435,7 +2493,7 @@
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[[01]]* | freebsdelf3.[[01]]*)
@@ -2455,17 +2513,18 @@
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   ;;
 
 haiku*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -2526,7 +2585,7 @@
   ;;
 
 interix[[3-9]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -2542,7 +2601,7 @@
     nonstopux*) version_type=nonstopux ;;
     *)
        if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
+               version_type=linux # correct to gnu/linux during the next big 
refactor
        else
                version_type=irix
        fi ;;
@@ -2579,9 +2638,9 @@
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2644,7 +2703,7 @@
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -2713,7 +2772,7 @@
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2738,7 +2797,7 @@
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -2762,7 +2821,7 @@
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix 
$libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -2793,7 +2852,7 @@
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2803,7 +2862,7 @@
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -3225,7 +3284,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3645,6 +3704,7 @@
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK ['"\
 "     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -4229,7 +4289,9 @@
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler 
$_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+      fi
       ;;
     esac
   else
@@ -4321,18 +4383,33 @@
        ;;
       *)
        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
+       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 
8.[[0-3]]*)
          # Sun Fortran 8.3 passes all unrecognized flags to the linker
          _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
          _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
          _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
          ;;
+       *Sun\ F* | *Sun*Fortran*)
+         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+         ;;
        *Sun\ C*)
          # Sun C 5.9
          _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
          _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
          _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
          ;;
+        *Intel*\ [[CF]]*Compiler*)
+         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+         ;;
+       *Portland\ Group*)
+         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+         ;;
        esac
        ;;
       esac
@@ -4492,7 +4569,9 @@
     ;;
   cygwin* | mingw* | cegcc*)
     case $cc_basename in
-    cl*) ;;
+    cl*)
+      _LT_TAGVAR(exclude_expsyms, 
$1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
     *)
       _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | 
$global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 
DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ 
]]/s/.* //'\'' | sort | uniq > $export_symbols'
       _LT_TAGVAR(exclude_expsyms, 
$1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
@@ -4517,7 +4596,6 @@
   _LT_TAGVAR(hardcode_direct, $1)=no
   _LT_TAGVAR(hardcode_direct_absolute, $1)=no
   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
   _LT_TAGVAR(hardcode_libdir_separator, $1)=
   _LT_TAGVAR(hardcode_minus_L, $1)=no
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -4768,8 +4846,7 @@
        xlf* | bgf* | bgxlf* | mpixlf*)
          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
          _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience 
--no-whole-archive'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-         _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
          _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs 
$linker_flags -soname $soname -o $lib'
          if test "x$supports_anon_versioning" = xyes; then
            _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > 
$output_objdir/$libname.ver~
@@ -5064,6 +5141,7 @@
        # The linker will not automatically build a static lib if we build a 
DLL.
        # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+       _LT_TAGVAR(exclude_expsyms, 
$1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
        _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | 
$global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ 
]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq 
> $export_symbols'
        # Don't use ranlib
        _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
@@ -5110,10 +5188,6 @@
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
-    freebsd1*)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     # support.  Future versions do this automatically, but an explicit c++rt0.o
     # does not break anything, and helps significantly (at the cost of a little
@@ -5126,7 +5200,7 @@
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
+    freebsd2.*)
       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs 
$linker_flags'
       _LT_TAGVAR(hardcode_direct, $1)=yes
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5165,7 +5239,6 @@
       fi
       if test "$with_gnu_ld" = no; then
        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-       _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
        _LT_TAGVAR(hardcode_direct, $1)=yes
        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
@@ -5607,9 +5680,6 @@
 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
     [Flag to hardcode $libdir into a binary during linking.
     This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
-    [[If ld is used when linking, flag to hardcode $libdir into a binary
-    during linking.  This must work even if $libdir does not exist]])
 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
     [Whether we need a single "-rpath" flag with a separated argument])
 _LT_TAGDECL([], [hardcode_direct], [0],
@@ -5767,7 +5837,6 @@
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -6137,7 +6206,7 @@
         esac
         ;;
 
-      freebsd[[12]]*)
+      freebsd2.*)
         # C++ shared libraries reported to be fairly broken before
        # switch to ELF
         _LT_TAGVAR(ld_shlibs, $1)=no
@@ -6898,12 +6967,18 @@
   }
 };
 _LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
 ])
 
 _lt_libdeps_save_CFLAGS=$CFLAGS
 case "$CC $CFLAGS " in #(
 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
 esac
 
 dnl Parse the compiler output and extract the necessary
@@ -7100,7 +7175,6 @@
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_automatic, $1)=no
@@ -7233,7 +7307,6 @@
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_automatic, $1)=no
@@ -7420,6 +7493,77 @@
 ])# _LT_LANG_GCJ_CONFIG
 
 
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
 # _LT_LANG_RC_CONFIG([TAG])
 # -------------------------
 # Ensure that the configuration variables for the Windows resource compiler
@@ -7489,6 +7633,13 @@
 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
 
 
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
 # LT_PROG_RC
 # ----------
 AC_DEFUN([LT_PROG_RC],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/m4/ltoptions.m4 new/libqb/m4/ltoptions.m4
--- old/libqb/m4/ltoptions.m4   2012-06-07 11:26:53.000000000 +0200
+++ new/libqb/m4/ltoptions.m4   2013-10-23 16:45:15.000000000 +0200
@@ -326,9 +326,24 @@
 # MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
 m4_define([_LT_WITH_PIC],
 [AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic],
+    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
        [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
+    [lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+       IFS="$lt_save_ifs"
+       if test "X$lt_pkg" = "X$lt_p"; then
+         pic_mode=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
     [pic_mode=default])
 
 test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/tests/check_ipc.c new/libqb/tests/check_ipc.c
--- old/libqb/tests/check_ipc.c 2013-07-25 08:36:33.000000000 +0200
+++ new/libqb/tests/check_ipc.c 2013-10-22 11:56:11.000000000 +0200
@@ -312,6 +312,8 @@
 static void
 s1_connection_created(qb_ipcs_connection_t *c)
 {
+       int32_t max = MAX_MSG_SIZE;
+
        if (send_event_on_created) {
                struct qb_ipc_response_header response;
                int32_t res;
@@ -333,6 +335,10 @@
                memcpy(context, "test", 4);
                qb_ipcs_context_set(c, context);
        }
+
+
+       ck_assert_int_eq(max, qb_ipcs_connection_get_buffer_size(c));
+
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libqb/tests/check_log.c new/libqb/tests/check_log.c
--- old/libqb/tests/check_log.c 2013-03-07 09:03:14.000000000 +0100
+++ new/libqb/tests/check_log.c 2013-10-22 11:56:11.000000000 +0200
@@ -191,6 +191,7 @@
        test_buf[0] = '\0';
        qb_log_target_format(t, cs, timestamp, msg, test_buf);
        test_priority = cs->priority;
+
        num_msgs++;
 }
 
@@ -282,6 +283,7 @@
        rc = qb_log_ctl(t, QB_LOG_CONF_ENABLED, QB_TRUE);
        ck_assert_int_eq(rc, 0);
 
+       /* captures last log */
        memset(test_buf, 0, sizeof(test_buf));
        test_priority = 0;
        num_msgs = 0;
@@ -304,7 +306,7 @@
        qb_log_filter_ctl(t, QB_LOG_FILTER_CLEAR_ALL,
                          QB_LOG_FILTER_FILE, "*", LOG_TRACE);
        qb_log_filter_ctl(t, QB_LOG_FILTER_ADD,
-                         QB_LOG_FILTER_FUNCTION, "log_it_please", LOG_WARNING);
+                         QB_LOG_FILTER_FUNCTION, 
"otherlogging,log_it_please,morelogging", LOG_WARNING);
 
        num_msgs = 0;
        qb_log(LOG_ERR, "try if you: log_it_please()");
@@ -336,7 +338,7 @@
        qb_log_filter_ctl(t, QB_LOG_FILTER_CLEAR_ALL,
                          QB_LOG_FILTER_FILE, "*", LOG_TRACE);
        qb_log_filter_ctl(t, QB_LOG_FILTER_ADD,
-                         QB_LOG_FILTER_FILE, __FILE__, LOG_DEBUG);
+                         QB_LOG_FILTER_FILE, 
"fakefile.c,"__FILE__",otherfakefile", LOG_DEBUG);
        /*
         * make sure we can pass in a null filename or function name.
         */

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to