The build fails on platforms that don't support the epoll system
call (or when building with --disable-epoll on Linux):
compat/poll.cpp:458:35: error: no matching function for call to 'zmalloc'
wait->events = (struct pollfd *) zmalloc(size * sizeof(struct pollfd));
^~~~~~~
./macros.hpp:85:4: note: candidate template ignored: couldn't infer template argument 'T'
T *zmalloc(size_t size)
^
./macros.hpp:74:4: note: candidate function template not viable: requires 0 arguments, but 1 was provided
T *zmalloc()
^
compat/poll.cpp:466:38: error: no matching function for call to 'zmalloc'
current->events = (struct pollfd *) zmalloc(size * sizeof(struct pollfd));
^~~~~~~
./macros.hpp:85:4: note: candidate template ignored: couldn't infer template argument 'T'
T *zmalloc(size_t size)
^
./macros.hpp:74:4: note: candidate function template not viable: requires 0 arguments, but 1 was provided
T *zmalloc()
Replace the uses of "old style" malloc with the new type-safe
function introduced recently.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: Ib1660f6a548c155f021843b7476d5d64c06c6e5a
wait = &events->wait;
/* This *must* be freed by using lttng_poll_free() */
- wait->events = (struct pollfd *) zmalloc(size * sizeof(struct pollfd));
+ wait->events = calloc<struct pollfd>(size);
if (wait->events == NULL) {
- PERROR("zmalloc struct pollfd");
+ PERROR("Failed to allocate wait events array during poll initialization");
goto error;
}
wait->alloc_size = wait->init_size = size;
- current->events = (struct pollfd *) zmalloc(size * sizeof(struct pollfd));
+ current->events = calloc<struct pollfd>(size);
if (current->events == NULL) {
- PERROR("zmalloc struct current pollfd");
+ PERROR("Failed to allocate current events array during poll initialization");
goto error;
}