Skip to content
Snippets Groups Projects
  • benjamin.franksen's avatar
    9d8e1bbe
    seq: fix problem with synchronous pvPut/pvGet · 9d8e1bbe
    benjamin.franksen authored
    The problem was that that once a synchronous request times out, the
    variable would never recover from the timeout state. This was because
    the semaphores would not be signalled on timeout. However, in order
    to correctly discard events (i.e. callbacks from CA) that belong to
    timed out requests, we have to remember them. This is what the getReq
    and putReq arrays in struct state_set are for.
    
    The fix assumes that CA will eventually call the callback for each
    accepted request, even if the channel disconnects. If the assumption is
    wrong then we have a memory leak.
    9d8e1bbe
    History
    seq: fix problem with synchronous pvPut/pvGet
    benjamin.franksen authored
    The problem was that that once a synchronous request times out, the
    variable would never recover from the timeout state. This was because
    the semaphores would not be signalled on timeout. However, in order
    to correctly discard events (i.e. callbacks from CA) that belong to
    timed out requests, we have to remember them. This is what the getReq
    and putReq arrays in struct state_set are for.
    
    The fix assumes that CA will eventually call the callback for each
    accepted request, even if the channel disconnects. If the assumption is
    wrong then we have a memory leak.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.