Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[Си] обязательно ли закрывать сокет внутри функции?

40K
19 ноября 2009 года
himas
31 / / 13.11.2009
Есть функция отправки http-запроса, в случае какого-либо отклонения она завершается по return(NULL):
Код:
char *httpQuery()
{
    SOCKET s;
    ...
    s = socket(AF_INET, SOCK_STREAM, 0);
    ...
        struct hostent* hp;
        if (!(hp = gethostbyname(http_host))) return(NULL);
    ...
    close(s);
}

Меня волнует вопрос, надо ли перед return(NULL) закрывать сокет?
7
19 ноября 2009 года
@pixo $oft
3.4K / / 20.09.2006
Если вы его открывали,почему бы и не закрыть?А то мало ли–будет утечка сокетов…:)
Не планируете же вы закрывать его вне функции.Разве что если вы там же его и открывали
288
19 ноября 2009 года
nikitozz
1.2K / / 09.03.2007
Если он не был создан перед этим функцими типа socket, accept, а был просто объявлен SOCKET s - нет, не нужно.
40K
19 ноября 2009 года
himas
31 / / 13.11.2009
nikitozz,
немного поправил пример в первом посте, интересует ситуация когда создан с помощью функции socket()
288
19 ноября 2009 года
nikitozz
1.2K / / 09.03.2007
Цитата: himas
nikitozz,
немного поправил пример в первом посте, интересует ситуация когда создан с помощью функции socket()



В данном случае, да. Как уже сказал @pixo $oft :)

7
19 ноября 2009 года
@pixo $oft
3.4K / / 20.09.2006
Да я телепат! О_О
[COLOR="Gray"]P.S.nikitozz,ещё 8 сообщений–и мы сравняемся.Нет,не с землёй (=[/COLOR]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог