История изменений
Исправление byko3y, (текущая версия) :
Как определяется владение msg->data?
Пардон, использовал один и тот же идентификатор в разных местах. «msg» в агенте — это actor_msg_t:
typedef struct actor_message_struct {
actor_msg_t *next;
actor_id sender;
actor_id dest;
void *data;
long type;
size_t size;
} actor_msg_t;
В то же время, «msg» в main_func — это то, чему в агенте соответствует «msg->data». То есть, при пересылке сообщения указанное число байт из «char *msg» копируются в то, что позже будет «void * msg->data», а по «arelease(msg)» эта копия будет высвобождена.
Исходная версия byko3y, :
Как определяется владение msg->data?
Пардон, использовал один и тот же идентификатор в разных местах. «msg» в агенте — это actor_msg_t:
typedef struct actor_message_struct {
actor_msg_t *next;
actor_id sender;
actor_id dest;
void *data;
long type;
size_t size;
} actor_msg_t;
В то же время, «msg» в main_func — это то, чему в агенте соответствует «msg->data». То есть, при пересылке сообщения указанное число байт из " char *msg" копируются в то, что позже будет «void * msg->data», а по «arelease(msg)» эта копия будет высвобождена.