unsigned long long bytes_left;
};
-void generate_new_sender(int ep_fd)
+void generate_new_sender(int ep_fd, struct sender *s)
{
int sock, one = 1;
unsigned src_num, dst_num;
unsigned long long num_bytes;
struct sockaddr_in sin;
struct epoll_event ev;
- struct sender *s;
- s = (struct sender *)malloc(sizeof(struct sender));
- if (s == NULL) {
- perror("malloc()");
- exit(1);
- }
-
sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock == -1) {
perror("socket()");
buf[i] = rand() & 0xff;
// allocate all the senders
- for (i = 0; i < num_sockets_per_sender; ++i)
- generate_new_sender(ep_fd);
+ for (i = 0; i < num_sockets_per_sender; ++i) {
+ struct sender *s = (struct sender *)malloc(sizeof(struct sender));
+ if (s == NULL) {
+ perror("malloc()");
+ exit(1);
+ }
+
+ generate_new_sender(ep_fd, s);
+ }
for ( ;; ) {
int num_active = epoll_wait(ep_fd, events, num_sockets_per_sender, -1);
exit(1);
}
close(s->fd);
-
- free(s);
- generate_new_sender(ep_fd);
+ generate_new_sender(ep_fd, s);
}
}
}