The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Специальное назначение для fd 3,4?"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Специальное назначение для fd 3,4?"
Сообщение от Ilya emailИскать по авторуВ закладки on 10-Фев-04, 19:39  (MSK)
Коллеги!
Столкнулся я вот с чем, если собрать на FreeBSD 5.2 любую C-программку с ключом -pthread (gcc -my.c -pthread), тогда дескрипторы 0,1,2 как и положено stdin,stdout,stderr, а вот #3 и #4 вместо того, чтобы быть закрытыми, на самом деле открыты! Т.е. я пробовал dup2(0,3) - и результат  Bad file descriptor (9). Если-же убрать -pthread -все работает. Что это может быть?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Специальное назначение для fd 3,4?"
Сообщение от Antonio emailИскать по авторуВ закладки on 11-Фев-04, 09:42  (MSK)
>Коллеги!
>Столкнулся я вот с чем, если собрать на FreeBSD 5.2 любую C-программку
>с ключом -pthread (gcc -my.c -pthread), тогда дескрипторы 0,1,2 как и
>положено stdin,stdout,stderr, а вот #3 и #4 вместо того, чтобы быть
>закрытыми, на самом деле открыты! Т.е. я пробовал dup2(0,3) - и
>результат  Bad file descriptor (9). Если-же убрать -pthread -все работает.
>Что это может быть?
>

Какой-нибудь pipe?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Специальное назначение для fd 3,4?"
Сообщение от Ilya emailИскать по авторуВ закладки on 11-Фев-04, 10:11  (MSK)
>Какой-нибудь pipe?
Я не точно понял :( Если сделать так:

if( fstat(3,&sb) < 0)
{
   printf("fstat(3): %s (%i)\n",strerror(errno),errno);
   exit(1);
}
printf("dev: %i, inod: %i, uid: %i, gid: %i, rdev: %i\n",
   sb.st_dev,sb.st_ino,sb.st_uid,sb.st_gid,sb.st_rdev);

то вывод выглядит следующим  образом
dev: 0, inod: 0, uid: 0, gid: 0, rdev: 0

А вот дальше как интерпретировать это?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Специальное назначение для fd 3,4?"
Сообщение от Antonio emailИскать по авторуВ закладки on 11-Фев-04, 15:14  (MSK)
>>Какой-нибудь pipe?
>Я не точно понял :(

Я имел в виду следующее _предположение_: дескрипторы 3 и 4 могут резервироваться для каких-то внутренних коммуникаций в pthreads-программе. То, что их сразу два, навело на мысль о двустороннем канале. Но тогда это должно быть отражено где-то в документации на pthreads.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Специальное назначение для fd 3,4?"
Сообщение от Ilya emailИскать по авторуВ закладки on 11-Фев-04, 15:18  (MSK)
>>Я не точно понял :(
это относилось не к предположению, что это pipe, а к тому, что я точно не понял что это за каналы. А сама мысль что это какой-то обмен между потоками ИМХО правильная. Только где взять описание pthread для FreeBSD 5.2?

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру