RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES rpm/rpmio/ rpmsq.c

From: Jeff Johnson <jbj@rpm5.org>
Date: Fri 25 Jan 2008 - 16:43:55 CET
Message-Id: <20080125154355.5A230348464@rpm5.org>
  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:43:55
  Branch: HEAD                             Handle: 2008012515435401

  Modified files:
    rpm                     CHANGES
    rpm/rpmio               rpmsq.c

  Log:
    - jbj: QNX does not have insque/remque.

  Summary:
    Revision    Changes     Path
    1.2092      +1  -0      rpm/CHANGES
    1.32        +15 -9      rpm/rpmio/rpmsq.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.2091 -r1.2092 CHANGES
  --- rpm/CHANGES	24 Jan 2008 22:30:36 -0000	1.2091
  +++ rpm/CHANGES	25 Jan 2008 15:43:54 -0000	1.2092
  @@ -1,4 +1,5 @@
   5.0.0 -> 5.1a1:
  +    - jbj: QNX does not have insque/remque.
       - jbj: QNX does not have d_off.
       - rse: add RPM Lua function rpm.debug() to complement rpm.verbose()
       - mej: catch EOF returned as RPMRC_NOTFOUND correctly.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmsq.c
  ============================================================================
  $ cvs diff -u -r1.31 -r1.32 rpmsq.c
  --- rpm/rpmio/rpmsq.c	14 Dec 2007 13:03:11 -0000	1.31
  +++ rpm/rpmio/rpmsq.c	25 Jan 2008 15:43:55 -0000	1.32
  @@ -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>
  -#include <sys/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
  +#  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:43:55 2008
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.