efl
1/*
2
3XXX: Disable test until a better implementation can be made
4For now efreet_menu_async_parse is deprecated.
5
6
7#ifdef HAVE_CONFIG_H
8# include <config.h>
9#endif
10
11
12#include <unistd.h>
13
14#include <Eina.h>
15#include <Ecore.h>
16#include <Efreet.h>
17
18#define TCOUNT 10
19#define MCOUNT 10
20#define MENU "/etc/xdg/menus/applications.menu"
21
22static int count = 0;
23static Eina_Lock lock;
24static Eina_Thread threads[TCOUNT];
25
26static void
27menu_cb(void *data EINA_UNUSED, Efreet_Menu *menu)
28{
29efreet_menu_dump(menu, "");
30eina_lock_take(&lock);
31count++;
32fprintf(stderr, "count: %d\n", count);
33if (count == (MCOUNT * TCOUNT)) ecore_main_loop_quit();
34eina_lock_release(&lock);
35efreet_menu_free(menu);
36}
37
38static void *
39thread_cb(void *data EINA_UNUSED, Eina_Thread t EINA_UNUSED)
40{
41int i;
42for (i = 0; i < MCOUNT; i++) {
43efreet_menu_async_parse(MENU, menu_cb, NULL);
44usleep(1e5);
45}
46return NULL;
47}
48
49static void
50create_threads(void)
51{
52int i;
53
54for (i = 0; i < TCOUNT; i++)
55{
56if (!eina_thread_create(&threads[i], EINA_THREAD_NORMAL, -1, thread_cb, NULL))
57fprintf(stderr, "error: eina_thread_create\n");
58usleep(1e5);
59}
60}
61
62int
63main(void)
64{
65int i;
66
67eina_init();
68ecore_init();
69efreet_init();
70
71
72eina_lock_new(&lock);
73
74create_threads();
75ecore_main_loop_begin();
76for (i = 0; i < TCOUNT; i++)
77eina_thread_join(threads[i]);
78
79eina_lock_free(&lock);
80efreet_shutdown();
81ecore_shutdown();
82eina_shutdown();
83*/
84
85int
86main(void)
87{
88return 0;
89}
90