Revision 1006
Threading issues worked out better... Ready to add motion.
main.c | ||
---|---|---|
9 | 9 |
|
10 | 10 |
#include <stdlib.h> |
11 | 11 |
#include <stdio.h> |
12 |
#include <gtk/gtk.h> |
|
13 |
#include <glib.h> |
|
14 |
#include <signal.h> |
|
12 | 15 |
|
13 | 16 |
#include "gtk_gui.h" |
14 | 17 |
#include "robot.h" |
... | ... | |
22 | 25 |
printf("Usage: simulator <robot execetuable>\n"); |
23 | 26 |
exit(-1); |
24 | 27 |
} |
28 |
|
|
25 | 29 |
robot_create(argv[1]); |
26 | 30 |
|
27 |
printf("returned to parent\n"); |
|
28 |
|
|
31 |
sigset_t set; |
|
32 |
//TODO: errors |
|
33 |
sigemptyset(&set); |
|
34 |
sigaddset(&set, SIGCHLD); |
|
35 |
pthread_sigmask(SIG_BLOCK, &set, NULL); |
|
36 |
g_thread_init(NULL); |
|
37 |
gdk_threads_init(); |
|
38 |
g_thread_create(robot_event_loop, NULL, TRUE, NULL); |
|
39 |
|
|
40 |
//TODO: better thread to put this in? |
|
41 |
sigemptyset(&set); |
|
42 |
sigaddset(&set, SIGCHLD); |
|
43 |
pthread_sigmask(SIG_UNBLOCK, &set, NULL); |
|
44 |
|
|
29 | 45 |
gtk_gui_run(argc, argv); |
30 | 46 |
|
31 | 47 |
return 0; |
Also available in: Unified diff