97 pthread_t d_thread = 0;
98 pthread_attr_t d_thread_attr;
100 pthread_mutex_t d_out_mutex;
101 pthread_cond_t d_out_cond;
103 int d_child_thread_count = 0;
104 std::string d_thread_error;
113 pthread_mutex_t &d_mutex;
114 pthread_cond_t &d_cond;
116 std::string &d_error;
120 std::streamsize d_num;
125 write_args(pthread_mutex_t &m, pthread_cond_t &c,
int &count, std::string &e, std::ostream &s,
char *vals,
127 : d_mutex(m), d_cond(c), d_count(count), d_error(e), d_out(s), d_out_file(-1), d_buf(vals), d_num(num) {}
133 write_args(pthread_mutex_t &m, pthread_cond_t &c,
int &count, std::string &e,
int fd,
char *vals,
135 : d_mutex(m), d_cond(c), d_count(count), d_error(e), d_out(std::cerr), d_out_file(fd), d_buf(vals),
149 void start_thread(
void *(*thread)(
void *arg), std::ostream &out,
char *byte_buf, std::streamsize bytes_written);
150 void start_thread(
void *(*thread)(
void *arg),
int fd,
char *byte_buf, std::streamsize bytes_written);