- if (!do_consumer_producer_queue(fd_read_producer, GINT_TO_POINTER(read_fd),
- fd_write_consumer,
- GINT_TO_POINTER(write_fd))) {
- error("Error copying data from file \"%s\" to fd %d.\n",
- filename, write_fd);
+ if (!do_consumer_producer_queue(fd_read_producer, &queue_fd_read,
+ fd_write_consumer, &queue_fd_write)) {
+ if (queue_fd_read.errmsg && queue_fd_write.errmsg) {
+ error("Error copying data from file \"%s\" to fd %d: %s: %s.\n",
+ filename, queue_fd_write.fd, queue_fd_read.errmsg,
+ queue_fd_write.errmsg);
+ } else if (queue_fd_read.errmsg) {
+ error("Error copying data from file \"%s\" to fd %d: %s.\n",
+ filename, queue_fd_write.fd, queue_fd_read.errmsg);
+ } else if (queue_fd_write.errmsg) {
+ error("Error copying data from file \"%s\" to fd %d: %s.\n",
+ filename, queue_fd_write.fd, queue_fd_write.errmsg);
+ } else {
+ error("Error copying data from file \"%s\" to fd %d.\n",
+ filename, queue_fd_write.fd);
+ }