Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как освободить память, выделенную на моем RPC-сервере?

Автор вопроса: steve landissОтветов: 1

У меня есть сервер RPC, который передает клиенту большой объем данных переменной длины. Файл .x выглядит примерно так

struct file
{
    opaque data<>
};

В подпрограмме сервера у меня есть

struct file *transfer_1_svc(...)
{
    struct file;

    file.data.data_val = malloc(...);

    return &file;
}

Мой вопрос: кто освобождает данные, выделенные в процедуре сервера?

rpcsunrpc

Ответы

Ответ 1 · kofemann

Это зависит от кода вашего сервера. Если вы используете rpcgen для создания серверной заглушки, вы можете использовать функцию xdr_free, которая освободит результат. Подробности смотрите в руководстве для разработчиков SunRPC: https://docs.oracle.com/cd/E19683-01/816-1435/rpcgenpguide-21470/index.html

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы