Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2010, 15:54   #1
Stenly
 
Регистрация: 18.11.2010
Сообщений: 3
По умолчанию Приложения с pthread

Как здесь лучше описать переменную errno?

Код:
pthread_cond_t fileopen_cond=PTHREAD_COND_INITIALIZER; 
pthread_mutex_t fileopen_mutex=PTHREAD_MUTEX_INITIALIZER; 

int open_with_wait(const char *pathname, int flags, mode_t mode) { 
   int code;
   pthread_mutex_lock(&fileopen_mutex);
   do {
     code=open(pathname, flags, mode);
     if (code < 0 && errno==EMFILE) {
        pthread_cond_wait(&fileopen_cond, &fileopen_mutex); 
     } 
   } while (code < 0 && errno==EMFILE);
   pthread_mutex_unlock(&fileopen_mutex); 
   return code; 
} 

int close_with_wakeup(int handle) { 
   int code;
   code=close(handle); 
   pthread_cond_signal(&fileopen_cond); 
   return code; 
}
Модератор: теги code не просто так сделаны.

Последний раз редактировалось Carbon; 18.11.2010 в 16:14.
Stenly вне форума Ответить с цитированием
Старый 18.11.2010, 16:15   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

А errno - это разве не функция?
Carbon вне форума Ответить с цитированием
Старый 18.11.2010, 16:49   #3
guz
Пользователь
 
Регистрация: 29.10.2010
Сообщений: 29
По умолчанию

В glibc, например, errno - это глобальная переменная.
Цитата:
Portability Note: ISO C specifies errno as a “modifiable lvalue” rather than as a variable, permitting it to be implemented as a macro. For example, its expansion might involve a function call, like *_errno ().

The GNU C Library Reference Manual, for Version 2.8
А в чём собственно вопрос-то?
guz вне форума Ответить с цитированием
Старый 18.11.2010, 17:07   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Ну да, енто глобальная переменная
Carbon вне форума Ответить с цитированием
Старый 18.11.2010, 20:27   #5
Stenly
 
Регистрация: 18.11.2010
Сообщений: 3
По умолчанию

спасибо, вы сняли мои сомнения
Stenly вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
приложения в Матлабе Kracozebr Помощь студентам 0 09.08.2010 22:27
Запуск приложения Артэс Общие вопросы C/C++ 2 07.06.2008 17:38
Делаю сайты, пишу маленькие/большие скрипты. Пишу веб-приложения и приложения под Windows. SkyM@n Фриланс 3 29.12.2007 16:21
Приложения в XP vicvtor Win Api 9 31.08.2007 22:55