static const char *idler_str = "idler";
static const char *idle_enterer_str = "idler_enterer";
static const char *idle_exiter_str = "idler_exiter";
-static const char *timer_str = "timer";
+static const char *timer1_str = "timer 1";
+static const char *timer2_str = "timer 2";
static const char *pipe_read_str = "pipe read";
int count;
+Eina_Bool timer_one(void *data)
+{
+ fprintf(stderr, "timer 1\n");
+ assert(called == pipe_read_str);
+ called = timer1_str;
+
+ count++;
+ if (count == 10)
+ {
+ ecore_main_loop_quit();
+ return EINA_FALSE;
+ }
+
+ return EINA_TRUE;
+}
+
+Eina_Bool timer_two(void *data)
+{
+ fprintf(stderr, "timer 2\n");
+ assert(called == timer1_str);
+ called = timer2_str;
+
+ return EINA_TRUE;
+}
+
Eina_Bool idle_enterer_one(void *data)
{
fprintf(stderr, "idle enterer!\n");
- if (count)
- assert(called == timer_str);
- else
+ switch (count)
+ {
+ default:
+ assert(called == timer2_str);
+ break;
+ case 1:
+ assert(called == timer1_str);
+ break;
+ case 0:
assert(called == NULL);
+ }
called = idle_enterer_str;
return EINA_TRUE;
}
fprintf(stderr, "idler!\n");
assert(called == idle_enterer_str);
called = idler_str;
+ if (count == 0)
+ ecore_timer_add(0.0, timer_two, NULL);
return EINA_TRUE;
}
return EINA_TRUE;
}
-Eina_Bool timer_one(void *data)
-{
- fprintf(stderr, "timer\n");
- assert(called == pipe_read_str);
- called = timer_str;
-
- count++;
- if (count == 10)
- {
- ecore_main_loop_quit();
- return EINA_FALSE;
- }
-
- return EINA_TRUE;
-}
-
Eina_Bool pipe_read(void *data, Ecore_Fd_Handler *fd_handler)
{
fprintf(stderr, "pipe read\n");