• David Howells's avatar
    SLOW_WORK: Allow the owner of a work item to determine if it is queued or not · 31ba99d3
    David Howells authored
    Add a function (slow_work_is_queued()) to permit the owner of a work item to
    determine if the item is queued or not.
    
    The work item is counted as being queued if it is actually on the queue, not
    just if it is pending.  If it is executing and pending, then it is not on the
    queue, but will rather be put back on the queue when execution finishes.
    
    This permits a caller to quickly work out if it may be able to put another,
    dependent work item on the queue behind it, or whether it will have to wait
    till that is finished.
    
    This can be used by CacheFiles to work out whether the creation a new object
    can be immediately deferred when it has to wait for an old object to be
    deleted, or whether a wait must take place.  If a wait is necessary, then the
    slow-work thread can otherwise get blocked, preventing the deletion from
    taking place.
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    31ba99d3
slow-work.txt 9.71 KB