Первый вопрос будет глупым, но я никак не могу сам понять.
Имеет ли смысл передавать в функцию не сокет а указатель на него, если в функции только чтение из сокета?
Второй вопрос.
Есть такая структура
typedef struct{
int socket; // сокет
char* cadr; //буфер для видео кадра
} video;
есть thread запускаемый pthread_create(thread, attr, get_video, &Cam1)
где Cam1 - это экземпляр video.
void *get_video( void *arg)
{
struct video *Camera = (struct video*) arg;
printf(" socket descriptor: %d\n", Camera->socket);
перед созданием потока дескриптор равен 4, в потоке он почему-то ноль.
Но бывает еще веселее - дескриптор в потоке равен 4, но после первого recv становится равен нулю...
Я бы грешил на путаницу с указателями, но тогда было бы вероятнее попадание случайного значения (так как сейчас сокет передается везде указателем), а мне постоянно выпадает ноль.
Где я мог пропустить подводный камень?