RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: jbj@rpm5.org
Module: rpm Date: 25-Jan-2008 16:44:42
Branch: rpm-5_0 Handle: 2008012515444200
Modified files: (Branch: rpm-5_0)
rpm CHANGES
rpm/rpmio rpmsq.c
Log:
- jbj: QNX does not have insque/remque.
Summary:
Revision Changes Path
1.2054.2.17 +1 -0 rpm/CHANGES
1.31.2.1 +11 -5 rpm/rpmio/rpmsq.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/CHANGES
============================================================================
$ cvs diff -u -r1.2054.2.16 -r1.2054.2.17 CHANGES
--- rpm/CHANGES 24 Jan 2008 22:31:56 -0000 1.2054.2.16
+++ rpm/CHANGES 25 Jan 2008 15:44:42 -0000 1.2054.2.17
@@ -1,4 +1,5 @@
5.0.0 -> 5.0.1:
+ - jbj: QNX does not have insque/remque.
- jbj: QNX does not have d_off.
- jbj: proof-of-concept rpmbuild --lsb implementation.
- mej: catch EOF returned as RPMRC_NOTFOUND correctly.
@@ .
patch -p0 <<'@@ .'
Index: rpm/rpmio/rpmsq.c
============================================================================
$ cvs diff -u -r1.31 -r1.31.2.1 rpmsq.c
--- rpm/rpmio/rpmsq.c 14 Dec 2007 13:03:11 -0000 1.31
+++ rpm/rpmio/rpmsq.c 25 Jan 2008 15:44:42 -0000 1.31.2.1
@@ -22,9 +22,9 @@
/*@globals errno, systemState @*/;
struct qelem;
-extern void insque(struct qelem * __elem, struct qelem * __prev)
+extern void __insque(struct qelem * __elem, struct qelem * __prev)
/*@modifies __elem, __prev @*/;
-extern void remque(struct qelem * __elem)
+extern void __remque(struct qelem * __elem)
/*@modifies __elem @*/;
extern pthread_t pthread_self(void)
@@ -118,7 +118,9 @@
#endif
#include <signal.h>
+#if !defined(__QNX__)
#include <sys/signal.h>
+#endif
#include <sys/wait.h>
#include <search.h>
@@ -165,35 +167,39 @@
#endif
/* portability fallback for insque(3)/remque(3) */
-#if defined(__CYGWIN__) || defined(__MINGW32__)
+#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__QNX__)
struct qelem {
struct qelem *q_forw;
struct qelem *q_back;
};
-static void insque(struct qelem * elem, struct qelem * pred)
+static void __insque(struct qelem * elem, struct qelem * pred)
{
elem -> q_forw = pred -> q_forw;
pred -> q_forw -> q_back = elem;
elem -> q_back = pred;
pred -> q_forw = elem;
}
+#define insque(_e, _p) __insque((_e), (_p))
-static void remque(struct qelem * elem)
+static void __remque(struct qelem * elem)
{
elem -> q_forw -> q_back = elem -> q_back;
elem -> q_back -> q_forw = elem -> q_forw;
}
+#define remque(_e) __remque(_e)
#endif
#if defined(HAVE_PTHREAD_H)
#include <pthread.h>
+# if !defined(__QNX__)
/* XXX suggested in bugzilla #159024 */
#if PTHREAD_MUTEX_DEFAULT != PTHREAD_MUTEX_NORMAL
#error RPM expects PTHREAD_MUTEX_DEFAULT == PTHREAD_MUTEX_NORMAL
#endif
+# endif
#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
/*@unchecked@*/
@@ .
Received on Fri Jan 25 16:44:42 2008