#include #include #include #include #include "ittnotify.h" void parent(int socket) { char buff[64]; __itt_event after_read_event = __itt_event_create("RX", 2); __itt_event before_write_event = __itt_event_create("TX", 2); read(socket, buff, 64); __itt_event_start(after_read_event); usleep(1000); __itt_event_start(before_write_event); write(socket, "Data from parent", 17); printf("Parent received: %s\n", buff); } void child(int socket) { char buff[64]; __itt_event after_read_event = __itt_event_create("RX", 2); __itt_event before_write_event = __itt_event_create("TX", 2); usleep(1000); __itt_event_start(before_write_event); write(socket, "Data from child", 16); read(socket, buff, 64); __itt_event_start(after_read_event); printf("Child received: %s\n", buff); } int main(int argc, char **argv) { int ret; pid_t pid; int sockets[2]; ret = socketpair(AF_UNIX, SOCK_STREAM, 0, sockets); pid = fork(); if(pid) { parent(sockets[0]); } else { child(sockets[1]); } usleep(200000); return 0; }