LINUX.ORG.RU

PTHREAD_MUTEX_INITIALIZER


0

0

У Стивенса есть пример для мьютексов и условных переменных , где он
глобальные переменные обьединяет в структуру shared вместе с мьютексом :
struct
{
pthread_mutex_t mutex;
int buff[MAXNITEMS];
int nput;
int nval;
} shared = { PTHREAD_MUTEX_INITIALIZER };

Я не могу вынести эту структуру отдельно в хидер , в этом случае компилятор ругается на multiple definition of `shared'
Как эту структуру правильно определить , чтобы ее можно было использовать в нескольких местах ?

header.h:

struct shared
{
    pthread_mutex_t mutex;
    int buff[MAXNITEMS];
    int nput;
    int nval;
};
extern struct shared shared;


main.c:

#include "header.h"
struct shared shared = { PTHREAD_MUTEX_INITIALIZER };

arsi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.