examples: fix ecore_exe_child example to work properly on Windows
Summary: ecore_main_fd_handler_add is not working on Windows Reviewers: vtorri, raster Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4470
This commit is contained in:
parent
34063c362c
commit
0d2d0f67e8
|
@ -8,8 +8,14 @@
|
||||||
|
|
||||||
#define BUFFER_SIZE 1024
|
#define BUFFER_SIZE 1024
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define HANDLER_TYPE Ecore_Win32_Handler
|
||||||
|
#else
|
||||||
|
#define HANDLER_TYPE Ecore_Fd_Handler
|
||||||
|
#endif
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_fd_handler_cb(void *data EINA_UNUSED, Ecore_Fd_Handler *fd_handler EINA_UNUSED)
|
_fd_handler_cb(void *data EINA_UNUSED, HANDLER_TYPE *fd_handler EINA_UNUSED)
|
||||||
{
|
{
|
||||||
static int numberOfMessages = 0;
|
static int numberOfMessages = 0;
|
||||||
char message[BUFFER_SIZE];
|
char message[BUFFER_SIZE];
|
||||||
|
@ -40,10 +46,22 @@ main(void)
|
||||||
if (!ecore_init())
|
if (!ecore_init())
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
/* note that stdin fd's on windows don't work the same
|
||||||
|
* as on unixes. this uses stdin just as a quick
|
||||||
|
* example that's simple instead of a more complex
|
||||||
|
* one, so this won't actually work on windows unless
|
||||||
|
* you use a fd that comes from somewhere that is
|
||||||
|
* select()able. */
|
||||||
|
ecore_main_win32_handler_add(GetStdHandle(STD_INPUT_HANDLE),
|
||||||
|
_fd_handler_cb,
|
||||||
|
NULL);
|
||||||
|
#else
|
||||||
ecore_main_fd_handler_add(STDIN_FILENO,
|
ecore_main_fd_handler_add(STDIN_FILENO,
|
||||||
ECORE_FD_READ,
|
ECORE_FD_READ,
|
||||||
_fd_handler_cb,
|
_fd_handler_cb,
|
||||||
NULL, NULL, NULL);
|
NULL, NULL, NULL);
|
||||||
|
#endif
|
||||||
ecore_main_loop_begin();
|
ecore_main_loop_begin();
|
||||||
|
|
||||||
ecore_shutdown();
|
ecore_shutdown();
|
||||||
|
|
Loading…
Reference in New Issue