1 2 /* 3 * (c) Oleg Puchinin 2012 4 * graycardinalster@gmail.com 5 * 6 */ 7 8 #ifndef DEFINE_DJOBS_H 9 #define DEFINE_DJOBS_H 10 #include "djob_t.h" 11 12 class DJobs : public EList 13 { 14 public: 15 DJobs (); 16 ~DJobs (); 17 18 __djob_t * add (int pid, char * user_data = NULL); 19 __djob_t * attach (__djob_t * j); 20 __djob_t * zombie (); 21 __djob_t * by_pid (pid_t pid); 22 __djob_t * fork (); 23 __djob_t * wait_all (); 24 25 private: 26 __djob_t * alloc_job (); 27 void __close_job_fds (__djob_t * j); 28 __djob_t * __do_zombie (pid_t pid, int status); 29 }; 30 31 #endif 32 33 34