[oe] Strange header file error

E Robertson e.robertson.svg at gmail.com
Mon Jul 14 19:58:12 UTC 2008


Hi All,
I'm trying to explain this pthread.h header file error.
I include this header file in my program. The snip of interest is this:

#ifndef _PTHREAD_H
#define _PTHREAD_H  1

#include <features.h>

#include <sched.h>
#include <time.h>

#define __need_sigset_t
#include <signal.h>
#include <bits/pthreadtypes.h>
#include <bits/initspin.h>

__BEGIN_DECLS

/* Initializers.  */

#define PTHREAD_MUTEX_INITIALIZER \
  {0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, __LOCK_INITIALIZER}
#ifdef __USE_GNU
# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
  {0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, __LOCK_INITIALIZER}
# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
  {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, __LOCK_INITIALIZER}
# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
  {0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, __LOCK_INITIALIZER}
#endif


This is included in another header file where I place some #ifdef
statements for  _PTHREAD_H,
PTHREAD_MUTEX_INITIALIZER, PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, and
__USE_GNU.
I also defined __USE_GNU just before the header file and none of these
are redefined anywhere else.

>From this I notice all these defines are valid and present _except_
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP.
I haven't figured out why this is so wired I don't see any possible
reason how this could be possible.
Am I out of my mind here? Is this really possible? Unless my
arm-uclibc is doing something strange, I don't see how this could be.
Anyone seen this before?  Thanks much.




More information about the Openembedded-devel mailing list