You need the following dependencies to build and run the {lt}
components:
-* **Linux kernel{nbsp}≥{nbsp}2.6.27**
-+
-Use `{nbh}{nbh}disable{nbh}epoll` at <<configure,build configuration>>
-time to build {lt} for an older kernel. However, note that we can't
-provide any guarantee below 2.6.27.
+* **Linux kernel{nbsp}≥{nbsp}2.6.30**
* **http://www.liburcu.org/[Userspace{nbsp}RCU]{nbsp}≥{nbsp}0.11.0**.
+
so that you don't need `man` to view them, use the
`{nbh}{nbh}enable{nbh}embedded{nbh}help` option.
-If your Linux kernel is older than 2.6.27, use the
-`{nbh}{nbh}disable{nbh}epoll` option.
-
This build configuration script finds LTTng{nbh}UST with
https://www.freedesktop.org/wiki/Software/pkg-config/[pkg{nbh}config]:
set the `PKG_CONFIG_PATH` environment variable accordingly if
goto error_unlock;
}
- /* Simulate behaviour of EFD_SEMAPHORE for older kernels. */
- counter -= 1;
- if (counter != 0) {
- ret = lttng_write(handle->cmd_queue.event_fd, &counter,
- sizeof(counter));
- if (ret != sizeof(counter)) {
- PERROR("Failed to write back to event_fd for EFD_SEMAPHORE emulation");
- ret = -1;
- goto error_unlock;
- }
- }
-
*cmd = cds_list_first_entry(&handle->cmd_queue.list,
struct notification_thread_command, cmd_list_node);
cds_list_del(&((*cmd)->cmd_list_node));
sem_init(&handle->ready, 0, 0);
- event_fd = eventfd(0, EFD_CLOEXEC);
+ event_fd = eventfd(0, EFD_CLOEXEC | EFD_SEMAPHORE);
if (event_fd < 0) {
PERROR("event_fd creation");
goto error;