]> pilppa.org Git - libplpha.git/blob - src/process_listener.c
copy headers with make install, start integrating sysout methods to use libplp
[libplpha.git] / src / process_listener.c
1 /*
2  * process_listener.c
3  *
4  *  Created on: Sep 18, 2010
5  *      Author: lamikr
6  */
7
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include <unistd.h>
11 #include <sys/types.h>
12 #include <sys/wait.h>
13 #include <pthread.h>
14 #include <stdbool.h>
15
16 #include <plp/log.h>
17
18 #include "process_listener.h"
19
20 static pthread_t        _listener_thread;
21 static bool             _continue;
22
23 static void *process_listener_thread(void *thread_args_pointer)
24 {
25         int     status;
26         int     closed_pid;
27
28         while(_continue) {
29                 closed_pid      = wait(&status);
30                 if (closed_pid >= 0) {
31                         log_info("process closed: %d, status: %d\n", closed_pid, status);
32                 }
33         }
34         pthread_exit(NULL);
35 }
36
37 void start_process_listener() {
38         log_debug("start_process_listener()\n");
39
40         _listener_thread        = 0;
41         _continue               = true;
42         pthread_create(&_listener_thread,
43                        NULL,
44                        process_listener_thread,
45                        (void *)NULL);
46 }
47
48 void stop_process_listener() {
49         _continue       = false;
50 //      pthread_cancel(_listener_thread);
51 //      pthread_join(_listener_thread, NULL);
52 }