The OpenNET Project / Index page

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



"Яндекс опубликовал Odyssey, многопоточный балансировщик соед..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Яндекс опубликовал Odyssey, многопоточный балансировщик соед..." +/
Сообщение от Анонимemail (37), 04-Июн-18, 15:48 
/*
* machinarium.
*
* cooperative multitasking engine.
*/

#include <machinarium.h>
#include <machinarium_private.h>

MACHINE_API int
machine_bind(machine_io_t *obj, struct sockaddr *sa)
{
    mm_io_t *io = mm_cast(mm_io_t*, obj);
    mm_errno_set(0);
    if (io->connected) {
        mm_errno_set(EINPROGRESS);
        return -1;
    }
    int rc;
    rc = mm_io_socket(io, sa);
    if (rc == -1)
        goto error;
    rc = mm_socket_set_reuseaddr(io->fd, 1);
    if (rc == -1) {
        mm_errno_set(errno);
        goto error;
    }
    if (sa->sa_family == AF_INET6) {
        rc = mm_socket_set_ipv6only(io->fd, 1);
        if (rc == -1) {
            mm_errno_set(errno);
            goto error;
        }
    }
    rc = mm_socket_bind(io->fd, sa);
    if (rc == -1) {
        mm_errno_set(errno);
        goto error;
    }
    rc = machine_io_attach(obj);
    if (rc == -1)
        goto error;
    return 0;
error:
    if (io->fd != -1) {
        close(io->fd);
        io->fd = -1;
    }
    io->handle.fd = -1;
    return -1;
}

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Яндекс опубликовал Odyssey, многопоточный балансировщик соед..., opennews, 31-Май-18, 22:21  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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