On Mon,  9 Feb 2026 09:24:47 +0800
[email protected] wrote:

> static s32 sxe_hdc_cmd_process(struct sxe_hw *hw, u64 trace_id,
> +                             struct sxe_hdc_trans_info *trans_info)
> +{
> +     s32 ret;
> +     u8 retry_idx;
> +     struct sxe_adapter *adapter = hw->adapter;
> +     sigset_t old_mask, new_mask;
> +     sigemptyset(&new_mask);
> +     sigaddset(&new_mask, SIGINT);
> +     sigaddset(&new_mask, SIGTERM);
> +     ret = pthread_sigmask(SIG_BLOCK, &new_mask, &old_mask);
> +     if (ret) {
> +             LOG_ERROR_BDF("hdc set signal mask failed, ret=%d", ret);
> +             goto l_ret;
> +     }
> +
> +     LOG_DEBUG_BDF("hw[%p] cmd trace=0x%" SXE_PRIX64 "", hw, trace_id);
> +
> +     ret = sem_wait(sxe_hdc_sema_get());
> +     if (ret) {
> +             LOG_WARN_BDF("hw[%p] hdc concurrency full", hw);
> +             goto l_ret;
> +     }
> +
> +     for (retry_idx = 0; retry_idx < 250; retry_idx++) {
> +             ret = sxe_hdc_packet_trans(hw, trace_id, trans_info);
> +             if (ret == SXE_SUCCESS) {
> +                     goto l_up;
> +             } else if (ret == -SXE_HDC_RETRY_ERR) {
> +                     rte_delay_ms(10);
> +                     continue;
> +             } else {
> +                     LOG_ERROR_BDF("sxe hdc packet trace_id=0x%" SXE_PRIX64
> +                                     " trans error, ret=%d", trace_id, ret);
> +                     ret = -EFAULT;
> +                     goto l_up;
> +             }
> +     }
> +
> +l_up:
> +     LOG_DEBUG_BDF("hw[%p] cmd trace=0x%" SXE_PRIX64 "", hw, trace_id);
> +     sem_post(sxe_hdc_sema_get());
> +l_ret:
> +     ret = pthread_sigmask(SIG_SETMASK, &old_mask, NULL);
> +     if (ret)
> +             LOG_ERROR_BDF("hdc restore old signal mask failed, ret=%d", 
> ret);
> +
> +     if (ret == -SXE_HDC_RETRY_ERR)
> +             ret = -EFAULT;
> +
> +     return ret;
> +}
> +

Drivers must not use or manipulate signals. Doing so could break applications.
Several years ago DPDK broke a Network Appliance vendors app from the signal
manipulation in TAP device.

This is a blocker for me.

Reply via email to