struct tevent_immediate *retry_im;
+ struct {
+ struct tevent_req *mgmt_req;
+ } waiting_flush;
+
struct {
uint8_t *buf;
off_t ofs;
tstream_context_data(stream,
struct tstream_tls);
+ if (tlss->push.subreq == NULL && tlss->pull.subreq == NULL) {
+ if (tlss->waiting_flush.mgmt_req != NULL) {
+ struct tevent_req *req = tlss->waiting_flush.mgmt_req;
+
+ tlss->waiting_flush.mgmt_req = NULL;
+
+ tevent_req_done(req);
+ return;
+ }
+ }
+
if (tlss->disconnect.req) {
tstream_tls_retry_disconnect(stream);
return;
return;
}
+ if (tlss->push.subreq != NULL || tlss->pull.subreq != NULL) {
+ tlss->waiting_flush.mgmt_req = req;
+ return;
+ }
+
tevent_req_done(req);
}
}
}
+ if (tlss->push.subreq != NULL || tlss->pull.subreq != NULL) {
+ tlss->waiting_flush.mgmt_req = req;
+ return;
+ }
+
tevent_req_done(req);
}