Проблемы с POSIX функцией int close(int fd), Происходит прерывание по сигналу |
Здравствуйте, гость ( Вход | Регистрация )
Проблемы с POSIX функцией int close(int fd), Происходит прерывание по сигналу |
AD |
10.4.2012, 10:01
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Собственно объяснил все в заголовке.
При вызове функции закрытия файла (в моем случае -файл). Дальше строчки close(handle_) не идет. Пропускает оставшуюся часть функции. Как это вылечить? Как поймать нужный мне сигнал POSIX? |
|
|
maint |
10.4.2012, 11:32
Сообщение
#2
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
можно узнать систему и компилятор ? Надеюсь такую фигню, как handle_ число вы проверяли.
Сообщение отредактировал maint - 10.4.2012, 11:33 |
|
|
AD |
10.4.2012, 11:34
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
maint |
10.4.2012, 12:02
Сообщение
#4
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
хотелось бы узнать систему и компилятор. Такую фигню как номер handle_ проверяли. Может быть. Сам такой. И еще, код возврата от close есть или нет ?
можно узнать систему и компилятор ? Надеюсь такую фигню, как handle_ число вы проверяли. Конечно проверял. Система Ubuntu. Компилятор - g++. Да уже выяснил. Надо было перехватить сигнал SIGKILL. ну как обычно. signal(SIGKILL, функция_или_ стандарт); Да сигналы, после срабатывания надо заноао инициализировать. Разовое. так думал Керниган Сообщение отредактировал maint - 10.4.2012, 12:12 |
|
|
AD |
10.4.2012, 13:42
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Ан-нет, не удалось. Вопрос еще открыт!
|
|
|
Iron Bug |
10.4.2012, 19:31
Сообщение
#6
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
не может close вызывать какого-либо сбоя. что-то ты не так делаешь. или левый дескриптор закрываешь, или другой поток туда пишет в это время. что-то типа того.
|
|
|
maint |
11.4.2012, 5:31
Сообщение
#7
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
|
|
|
AD |
11.4.2012, 8:15
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
не может close вызывать какого-либо сбоя. что-то ты не так делаешь. или левый дескриптор закрываешь, или другой поток туда пишет в это время. что-то типа того. Ну вообще да... Запись идет. Видимо, вначале надо прервать запись. Спасибо. Посмотрю, как поправить. Сообщение отредактировал AD - 11.4.2012, 8:36 |
|
|
maint |
11.4.2012, 9:22
Сообщение
#9
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
не может close вызывать какого-либо сбоя. что-то ты не так делаешь. или левый дескриптор закрываешь, или другой поток туда пишет в это время. что-то типа того. Ну вообще да... Запись идет. Видимо, вначале надо прервать запись. Спасибо. Посмотрю, как поправить. занатяый вариант. если не сложно расскажите в чём хохма, когда спраитесь |
|
|
Iron Bug |
11.4.2012, 9:47
Сообщение
#10
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
|
|
|
Текстовая версия | Сейчас: 25.11.2024, 12:58 |