Skip to content
  • Alexandru Ardelean's avatar
    ubusd: move global retmsg per client · 5f87f548
    Alexandru Ardelean authored
    
    
    Even with the tx_queue-ing issue resolved, what
    seems to happen afterwards, is that all the messages
    seems to get through, but the client still loops
    in the `ubus_complete_request()` waiting for
    `req->status_msg` or for a timeout.
    
    Though, the timeout does not seem to happen, because
    the data is processed in `ubus_poll_data()`, with
    a infinite poll() timeout (ubus_complete_request() is
    called with timeout 0).
    
    It's likely that either the `seq` or `peer` sent from
    ubusd are wrong, and the client cannot get the correct
    ubus request in `ubus_process_req_msg()`.
    I haven't digged too deep into this ; setting the
    `retmsg` object on the client struct seems to have
    resolved any hanging with the `ubus list` command.
    
    Signed-off-by: default avatarAlexandru Ardelean <ardeleanalex@gmail.com>
    Signed-off-by: Felix Fietkau <nbd@nbd.name> [fix placement of retmsg in cl]
    5f87f548