Dear Anton,
the pthread.h header file can not be parsed by rootcint. So try an
#ifndef __CINT__
#include "pthread.h"
#else
struct pthread_cond_t;
#endif
etc.
Refer to the TPosixCondition.h or TPosixMutex.h for the usage. This should
help.
Greetings,
Marc
Dr. Marc Hemberger
|\ _,,,---,, GSI, Abteilung DV&EE
ZZZzz /,`.-'`' -. ;-;;,_ Planckstr. 1
|,4- ) )-,_. ,\ ( `'-'
'---''(_/--' `-'\_) 64291 Darmstadt
M.Hemberger@gsi.de
** Disclaimer: My views/comments/beliefs, as strange as they are, are my own.**
On Mon, 6 Mar 2000, Anton Fokin wrote:
> Hello!
>
> what does it mean?
>
> I have a header like this:
>
> #ifndef _TEventBuffer
> #define _TEventBuffer
>
> #include "TObject.h"
>
> #include "stdio.h"
> #include "pthread.h"
>
> #define RING_BUFFER
> #define RING_LENGTH 100
> #define BUFFER_SIZE 1024*16
> #define SECURE_SIZE 1024*2
>
> typedef unsigned short TLynxBuffer[BUFFER_SIZE+SECURE_SIZE];
>
> class TEventBuffer : public TObject {
>
> public:
> TLynxBuffer *fBufferRing[RING_LENGTH];
> TLynxBuffer *fWriteBuffer;
> TLynxBuffer *fReadBuffer;
>
> pthread_mutex_t fLockMutex;
> pthread_cond_t fReadCondition;
> pthread_cond_t fWriteCondition;
> int fReadPosition;
> int fWritePosition;
>
> TEventBuffer();
> virtual ~TEventBuffer();
>
> ClassDef(TEventBuffer,1)
> };
>
> #endif
>
> and the dictionary generation:
>
>
> Mon Mar 6 15:21:13 2000
> /u/anton/jcc/bin/../../svedaq++/lynx/
> make
>
> CC
> TEventBuffer.cxx -compat=4 -I/usr/openwin/include -I/l/cern/root/include -I/
> u/anton/svedaq++/common -D__SunOS_5_6 -D_REENTRANT -O4 -D_Solaris -c
>
> Generating dictionary TEventBufferDict...
>
> Error: No symbol pthread_mutex_tfLockMutex in current scope
> FILE:TEventBuffer.h LINE:23
>
> Error: No symbol pthread_cond_tfReadCondition in current scope
> FILE:TEventBuffer.h LINE:24
>
> Error: No symbol pthread_cond_tfWriteCondition in current scope
> FILE:TEventBuffer.h LINE:25
>
> Warning: Error occured during reading source files
>
> Note: operator new() masked 1c
>
> Note: operator delete() masked 1c
>
> Warning: Error occured during dictionary source generation
>
> !!!Removing TEventBufferDict.cxx TEventBufferDict.h !!!
>
> /l/cern/root/bin/rootcint: error loading headers...
>
> *** Error code 1
>
> make: Fatal error: Command failed for target `TEventBufferDict.cxx'
>
>
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:21 MET