@@ -396,6 +396,11 @@ static void qcc_refresh_timeout(struct qcc *qcc)
396396 TRACE_LEAVE (QMUX_EV_QCS_NEW , qcc -> conn );
397397}
398398
399+ void qcc_wakeup (struct qcc * qcc )
400+ {
401+ tasklet_wakeup (qcc -> wait_event .tasklet );
402+ }
403+
399404/* Mark a stream as open if it was idle. This can be used on every
400405 * successful emission/reception operation to update the stream state.
401406 */
@@ -721,7 +726,7 @@ void qcc_set_error(struct qcc *qcc, int err, int app)
721726 * is too tedious too not forget a wakeup outside of this function for
722727 * the moment.
723728 */
724- tasklet_wakeup (qcc -> wait_event . tasklet );
729+ qcc_wakeup (qcc );
725730}
726731
727732/* Increment glitch counter for <qcc> connection by <inc> steps. If configured
@@ -1075,7 +1080,7 @@ static void qcs_consume(struct qcs *qcs, uint64_t bytes)
10751080 frm -> max_stream_data .max_stream_data = qcs -> rx .msd ;
10761081
10771082 LIST_APPEND (& qcc -> lfctl .frms , & frm -> list );
1078- tasklet_wakeup (qcc -> wait_event . tasklet );
1083+ qcc_wakeup (qcc );
10791084 }
10801085
10811086 conn_fctl :
@@ -1093,7 +1098,7 @@ static void qcs_consume(struct qcs *qcs, uint64_t bytes)
10931098 frm -> max_data .max_data = qcc -> lfctl .md ;
10941099
10951100 LIST_APPEND (& qcs -> qcc -> lfctl .frms , & frm -> list );
1096- tasklet_wakeup ( qcs -> qcc -> wait_event . tasklet );
1101+ qcc_wakeup ( qcc );
10971102 }
10981103
10991104 TRACE_LEAVE (QMUX_EV_QCS_RECV , qcc -> conn , qcs );
@@ -1353,7 +1358,7 @@ void qcc_reset_stream(struct qcs *qcs, int err)
13531358 }
13541359
13551360 qcc_send_stream (qcs , 1 , 0 );
1356- tasklet_wakeup (qcc -> wait_event . tasklet );
1361+ qcc_wakeup (qcc );
13571362}
13581363
13591364/* Register <qcs> stream for emission of STREAM, STOP_SENDING or RESET_STREAM.
@@ -1401,7 +1406,7 @@ void qcc_abort_stream_read(struct qcs *qcs)
14011406 qcs -> flags |= (QC_SF_TO_STOP_SENDING |QC_SF_READ_ABORTED );
14021407
14031408 qcc_send_stream (qcs , 1 , 0 );
1404- tasklet_wakeup (qcc -> wait_event . tasklet );
1409+ qcc_wakeup (qcc );
14051410
14061411 end :
14071412 TRACE_LEAVE (QMUX_EV_QCC_NEW , qcc -> conn , qcs );
@@ -1434,7 +1439,7 @@ int qcc_install_app_ops(struct qcc *qcc, const struct qcc_app_ops *app_ops)
14341439 TRACE_ERROR ("app ops finalize error" , QMUX_EV_QCC_NEW , qcc -> conn );
14351440 goto err ;
14361441 }
1437- tasklet_wakeup (qcc -> wait_event . tasklet );
1442+ qcc_wakeup (qcc );
14381443 }
14391444
14401445 TRACE_LEAVE (QMUX_EV_QCC_NEW , qcc -> conn );
@@ -1613,7 +1618,7 @@ int qcc_recv_max_data(struct qcc *qcc, uint64_t max)
16131618 TRACE_DATA ("increase remote max-data" , QMUX_EV_QCC_RECV , qcc -> conn );
16141619
16151620 if (unblock_real )
1616- tasklet_wakeup (qcc -> wait_event . tasklet );
1621+ qcc_wakeup (qcc );
16171622
16181623 if (unblock_soft )
16191624 qcc_notify_fctl (qcc );
@@ -1659,7 +1664,7 @@ int qcc_recv_max_stream_data(struct qcc *qcc, uint64_t id, uint64_t max)
16591664 TRACE_DATA ("increase remote max-stream-data" , QMUX_EV_QCC_RECV |QMUX_EV_QCS_RECV , qcc -> conn , qcs );
16601665 if (unblock_real ) {
16611666 /* TODO optim: only wakeup IO-CB if stream has data to sent. */
1662- tasklet_wakeup (qcc -> wait_event . tasklet );
1667+ qcc_wakeup (qcc );
16631668 }
16641669
16651670 if (unblock_soft ) {
@@ -1909,7 +1914,7 @@ static int qcc_release_remote_stream(struct qcc *qcc, uint64_t id)
19091914 frm -> max_streams_bidi .max_streams = qcc -> lfctl .ms_bidi +
19101915 qcc -> lfctl .cl_bidi_r ;
19111916 LIST_APPEND (& qcc -> lfctl .frms , & frm -> list );
1912- tasklet_wakeup (qcc -> wait_event . tasklet );
1917+ qcc_wakeup (qcc );
19131918
19141919 qcc -> lfctl .ms_bidi += qcc -> lfctl .cl_bidi_r ;
19151920 qcc -> lfctl .cl_bidi_r = 0 ;
@@ -2416,7 +2421,7 @@ static int qcc_io_send(struct qcc *qcc)
24162421 }
24172422
24182423 if (!qfctl_rblocked (& qcc -> tx .fc ))
2419- tasklet_wakeup (qcc -> wait_event . tasklet );
2424+ qcc_wakeup (qcc );
24202425 }
24212426
24222427 out :
@@ -2959,7 +2964,7 @@ static int qmux_init(struct connection *conn, struct proxy *prx,
29592964 LIST_APPEND (& mux_stopping_data [tid ].list , & conn -> stopping_list );
29602965
29612966 /* init read cycle */
2962- tasklet_wakeup (qcc -> wait_event . tasklet );
2967+ qcc_wakeup (qcc );
29632968
29642969 TRACE_LEAVE (QMUX_EV_QCC_NEW , conn );
29652970 return 0 ;
@@ -3105,7 +3110,7 @@ static size_t qmux_strm_rcv_buf(struct stconn *sc, struct buffer *buf,
31053110
31063111 qcs -> flags &= ~QC_SF_DEM_FULL ;
31073112 if (!(qcc -> flags & QC_CF_ERRL ))
3108- tasklet_wakeup (qcc -> wait_event . tasklet );
3113+ qcc_wakeup (qcc );
31093114 }
31103115
31113116 TRACE_LEAVE (QMUX_EV_STRM_RECV , qcc -> conn , qcs );
@@ -3169,7 +3174,7 @@ static size_t qmux_strm_snd_buf(struct stconn *sc, struct buffer *buf,
31693174 if (data || fin )
31703175 qcc_send_stream (qcs , 0 , data );
31713176 if (!(qcs -> qcc -> wait_event .events & SUB_RETRY_SEND ))
3172- tasklet_wakeup (qcs -> qcc -> wait_event . tasklet );
3177+ qcc_wakeup (qcs -> qcc );
31733178 }
31743179
31753180 end :
@@ -3290,7 +3295,7 @@ static size_t qmux_strm_done_ff(struct stconn *sc)
32903295 if (data || qcs -> flags & QC_SF_FIN_STREAM )
32913296 qcc_send_stream (qcs , 0 , data );
32923297 if (!(qcs -> qcc -> wait_event .events & SUB_RETRY_SEND ))
3293- tasklet_wakeup (qcc -> wait_event . tasklet );
3298+ qcc_wakeup (qcc );
32943299
32953300 end :
32963301 TRACE_LEAVE (QMUX_EV_STRM_SEND , qcs -> qcc -> conn , qcs );
@@ -3388,7 +3393,7 @@ static void qmux_strm_shut(struct stconn *sc, unsigned int mode, struct se_abort
33883393 qcc_reset_stream (qcs , 0 );
33893394 }
33903395
3391- tasklet_wakeup (qcc -> wait_event . tasklet );
3396+ qcc_wakeup (qcc );
33923397 }
33933398
33943399 out :
0 commit comments