+ else if (z_gdu && z_gdu->which == Z_GDU_HTTP_Request)
+ {
+ // For HTTP, respond with Server Error
+ int len;
+ mp::odr odr;
+ Z_GDU *zgdu_res
+ = odr.create_HTTP_Response(m_package->session(),
+ z_gdu->u.HTTP_Request, 500);
+ m_assoc_child->send_GDU(zgdu_res, &len);
+ }
+ m_package->session().close();
+ }
+
+ if (m_assoc_child->m_no_requests == 0 && m_package->session().is_closed())
+ {
+ m_assoc_child->close();
+ }
+
+ if (m_msg_config)
+ {
+ yaz_timing_stop(timer);
+ double duration = yaz_timing_get_real(timer);
+
+ std::ostringstream os;
+ os << m_msg_config << " "
+ << *m_package << " "
+ << std::fixed << std::setprecision (6) << duration;
+
+ yaz_log(YLOG_LOG, "%s %s", os.str().c_str(), t_info);