ecore_exe_example_child.c
This is a child process used to receive messages and send it back to its father. Check the Full tutorial
#include <stdio.h> #include <unistd.h> #include <Ecore.h> #define BUFFER_SIZE 1024 static Eina_Bool _fd_handler_cb(void *data, Ecore_Fd_Handler *fd_handler) { static int numberOfMessages = 0; char message[BUFFER_SIZE]; fgets(message, BUFFER_SIZE, stdin); numberOfMessages++; if (numberOfMessages < 3) { fprintf(stdout, "My father sent this message to me:%s\n", message); fflush(stdout); return ECORE_CALLBACK_RENEW; } else { fprintf(stdout, "quit\n"); fflush(stdout); ecore_main_loop_quit(); return ECORE_CALLBACK_DONE; } } int main(int argc, char **argv) { if (!ecore_init()) goto error; ecore_main_fd_handler_add(STDIN_FILENO, ECORE_FD_READ, _fd_handler_cb, NULL, NULL, NULL); ecore_main_loop_begin(); ecore_shutdown(); return EXIT_SUCCESS; error: return EXIT_FAILURE; }