RPM Community Forums

Mailing List Message of <rpm-cvs>

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

From: Jeff Johnson <jbj@rpm5.org>
Date: Fri 25 Jan 2008 - 16:44:42 CET
Message-Id: <20080125154442.B575F348464@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: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
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.