diff options
| author | Michael Stapelberg <michael@stapelberg.de> | 2010-12-06 19:55:19 +0100 |
|---|---|---|
| committer | Michael Stapelberg <michael@stapelberg.de> | 2010-12-06 19:55:19 +0100 |
| commit | 0c9d712a77bbede4808142944776d35f502bffa7 (patch) | |
| tree | 1955e375d404308aa1d79b9d355e37dba739b9bf /aufgabe4/monitor.c | |
| parent | 9af2bea582c083653c08abb965eba6f63de997fa (diff) | |
| download | prozesskommunikation-0c9d712a77bbede4808142944776d35f502bffa7.tar.gz prozesskommunikation-0c9d712a77bbede4808142944776d35f502bffa7.tar.bz2 | |
IPC implementiert
Hat noch einen Bug, sollte aber als Beispiel für die anderen Aufgaben gut genug
sein.
Diffstat (limited to 'aufgabe4/monitor.c')
| -rw-r--r-- | aufgabe4/monitor.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/aufgabe4/monitor.c b/aufgabe4/monitor.c index b631e59..e2bf015 100644 --- a/aufgabe4/monitor.c +++ b/aufgabe4/monitor.c @@ -1,18 +1,35 @@ /* * vim:ts=4:sw=4:expandtab + * + * © 2010 Michael Stapelberg * */ #include <stdlib.h> #include <stdio.h> #include <unistd.h> +#include "queue.h" + +/* + * Monitor-Prozess. Gibt die empfangenen Daten aus. + * + */ void monitor() { - printf("monitor started\n"); for (;;) { + /* Wir warten auf Nachrichten des CONV-Prozesses */ + while (queue_get_dir() != D_STAT_TO_MON) + usleep(1); + + uint8_t data = queue_get_data(); + printf("Empfangenes Datum: %d\n", data); + fflush(stdout); } } +/* + * Cleanup-Funktion. Beendet den Prozess. + * + */ void monitor_cleanup() { - printf("monitor cleanup\n"); _exit(EXIT_SUCCESS); } |
