static chain_message_t chain_message_new(sg_mailbox_t prev, sg_mailbox_t next, const unsigned int num_pieces)
{
- chain_message_t msg = (chain_message_t)malloc(sizeof(s_chain_message_t));
+ chain_message_t msg = xbt_malloc(sizeof(s_chain_message_t));
msg->prev_ = prev;
msg->next_ = next;
msg->num_pieces = num_pieces;
static broadcaster_t broadcaster_init(sg_mailbox_t* mailboxes, unsigned int host_count, unsigned int piece_count)
{
- broadcaster_t bc = (broadcaster_t)malloc(sizeof(s_broadcaster_t));
+ broadcaster_t bc = xbt_malloc(sizeof(s_broadcaster_t));
bc->first = NULL;
bc->host_count = host_count;
bc->piece_count = piece_count;
bc->mailboxes = mailboxes;
- bc->pending_sends = (sg_comm_t*)malloc(sizeof(sg_comm_t) * MAX_PENDING_COMMS);
+ bc->pending_sends = xbt_malloc(sizeof(sg_comm_t) * MAX_PENDING_COMMS);
broadcaster_build_chain(bc);
xbt_assert(argc > 2);
unsigned int host_count = xbt_str_parse_int(argv[1], "Invalid number of peers: %s");
- sg_mailbox_t* mailboxes = (sg_mailbox_t*)malloc(sizeof(sg_mailbox_t) * host_count);
+ sg_mailbox_t* mailboxes = xbt_malloc(sizeof(sg_mailbox_t) * host_count);
for (unsigned int i = 1; i <= host_count; i++) {
char* name = bprintf("node-%u.simgrid.org", i);
/* Broadcaster struct */
typedef struct s_broadcaster {
unsigned int host_count;
- int piece_count;
+ unsigned int piece_count;
sg_mailbox_t first;
sg_mailbox_t* mailboxes;
sg_comm_t* pending_sends;
static peer_t peer_init(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED char* argv[])
{
- peer_t p = (peer_t)malloc(sizeof(s_peer_t));
+ peer_t p = xbt_malloc(sizeof(s_peer_t));
p->prev = NULL;
p->next = NULL;
p->received_pieces = 0;
p->received_bytes = 0;
- p->pending_recvs = (sg_comm_t*)malloc(sizeof(sg_comm_t) * MAX_PENDING_COMMS);
- p->pending_sends = (sg_comm_t*)malloc(sizeof(sg_comm_t) * MAX_PENDING_COMMS);
+ p->pending_recvs = xbt_malloc(sizeof(sg_comm_t) * MAX_PENDING_COMMS);
+ p->pending_sends = xbt_malloc(sizeof(sg_comm_t) * MAX_PENDING_COMMS);
p->me = sg_mailbox_by_name(sg_host_self_get_name());
for (int i = 0; i < number_of_tasks; i++) { /* For each task to be executed: */
char mailbox_name[80];
char task_name[80];
- double* payload = (double*)malloc(sizeof(double));
+ double* payload = xbt_malloc(sizeof(double));
snprintf(mailbox_name, 79, "worker-%ld", i % workers_count); /* - Select a @ref worker in a round-robin way */
snprintf(task_name, 79, "Task_%d", i);
for (int i = 0; i < workers_count; i++) { /* - Eventually tell all the workers to stop by sending a "finalize" task */
char mailbox_name[80];
snprintf(mailbox_name, 79, "worker-%ld", i % workers_count);
- double* payload = (double*)malloc(sizeof(double));
+ double* payload = xbt_malloc(sizeof(double));
sg_mailbox_t mailbox = sg_mailbox_by_name(mailbox_name);
*payload = FINALIZE;
sg_mailbox_put(mailbox, payload, 0);
long receivers_count = xbt_str_parse_int(argv[3], "Invalid amount of receivers: %s");
/* Array in which we store all ongoing communications */
- sg_comm_t* pending_comms = malloc(sizeof(sg_comm_t) * (messages_count + receivers_count));
+ sg_comm_t* pending_comms = xbt_malloc(sizeof(sg_comm_t) * (messages_count + receivers_count));
int pending_comms_count = 0;
/* Make an array of the mailboxes to use */
- sg_mailbox_t* mboxes = malloc(sizeof(sg_mailbox_t) * receivers_count);
+ sg_mailbox_t* mboxes = xbt_malloc(sizeof(sg_mailbox_t) * receivers_count);
for (long i = 0; i < receivers_count; i++) {
char mailbox_name[80];
snprintf(mailbox_name, 79, "receiver-%ld", i);
for (int i = 0; i < nb_workers; i++) {
char mbox_name[MAXMBOXLEN];
snprintf(mbox_name, MAXMBOXLEN, "MBOX:WRK%02d", i);
- double* payload = (double*)malloc(sizeof(double));
+ double* payload = xbt_malloc(sizeof(double));
*payload = comp_size;
sg_mailbox_t mbox = sg_mailbox_by_name(mbox_name);
{
sg_host_t* worker_pms = sg_actor_self_data();
- sg_vm_t* vms = (sg_vm_t*)malloc(2 * sizeof(sg_vm_t));
+ sg_vm_t* vms = xbt_malloc(2 * sizeof(sg_vm_t));
/* Launch VMs and worker actors. One VM per PM, and one worker actor per VM. */
XBT_INFO("# Launch 2 VMs");
char mbox_name[MAXMBOXLEN];
snprintf(mbox_name, MAXMBOXLEN, "MBOX:WRK%02d", i);
sg_mailbox_t mbox = sg_mailbox_by_name(mbox_name);
- double* payload = (double*)malloc(sizeof(double));
+ double* payload = xbt_malloc(sizeof(double));
*payload = FINALIZE;
sg_mailbox_put(mbox, payload, 0);
}
/* the first pm is the master, the others are workers */
sg_host_t master_pm = pms[0];
- sg_host_t* worker_pms = (sg_host_t*)malloc(2 * sizeof(sg_host_t));
+ sg_host_t* worker_pms = xbt_malloc(2 * sizeof(sg_host_t));
for (int i = 0; i < 2; i++)
worker_pms[i] = pms[i + 1];
int with_timeout = !strcmp(argv[1], "true");
/* Vector in which we store all pending executions*/
- sg_exec_t* pending_execs = malloc(sizeof(sg_exec_t) * 3);
+ sg_exec_t* pending_execs = xbt_malloc(sizeof(sg_exec_t) * 3);
int pending_execs_count = 0;
for (int i = 0; i < 3; i++) {
va_start(ev->ap, fmt);
done = cat->layout->do_layout(cat->layout, ev, fmt);
va_end(ev->ap);
+ ev->buffer = nullptr; // Calm down, static analyzers, this pointer to local array wont leak out of the scope.
if (done) {
appender->do_append(appender, buff);
} else {