/usr/include/pike8.0/pike/cyclic.h is in pike8.0-dev 8.0.388-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | /*
|| This file is part of Pike. For copyright information see COPYRIGHT.
|| Pike is distributed under GPL, LGPL and MPL. See the file COPYING
|| for more information.
*/
#ifndef CYCLIC_H
#define CYCLIC_H
#include "pike_error.h"
#include "threads.h"
/* #define CYCLIC_DEBUG */
typedef struct CYCLIC
{
ONERROR onerr;
void *th;
char *id;
void *a,*b;
void *ret;
struct CYCLIC *next;
} CYCLIC;
#ifdef CYCLIC_DEBUG
#define DECLARE_CYCLIC() \
static char cyclic_identifier__[] = __FILE__ ":" DEFINETOSTR(__LINE__); \
CYCLIC cyclic_struct__
#define BEGIN_CYCLIC(A,B) \
begin_cyclic(&cyclic_struct__, cyclic_identifier__, \
THREAD_T_TO_PTR(th_self()), (void *)(A), (void *)(B))
#else /* CYCLIC_DEBUG */
#define DECLARE_CYCLIC() \
static char cyclic_identifier__; \
CYCLIC cyclic_struct__
#define BEGIN_CYCLIC(A,B) \
begin_cyclic(&cyclic_struct__, &cyclic_identifier__, \
THREAD_T_TO_PTR(th_self()), (void *)(A), (void *)(B))
#endif /* !CYCLIC_DEBUG */
#define SET_CYCLIC_RET(RET) \
cyclic_struct__.ret=(void *)(RET)
#define END_CYCLIC() unlink_cyclic(&cyclic_struct__)
/* Prototypes begin here */
PMOD_EXPORT void unlink_cyclic(CYCLIC *c);
PMOD_EXPORT void *begin_cyclic(CYCLIC *c,
char *id,
void *thread,
void *a,
void *b);
/* Prototypes end here */
#endif /* CYCLIC_H */
|