Patent ID: 6636883
Filing Date: 2003-10-21
Classification: G06F

Abstract:
A method of communicating information between a queuing process and a dequeuing process in a computer system comprising a memory and one or more central processing units each capable of executing multiple processes simultaneously and each having access to a queue in memory, the method comprising:a) linking an element into the queue by 1) storing the present state of the queue including a synchronization field into a parameter list, 2) locking the queue to other processes, 3) comparing the state of the queue and the synchronization field after locking to the state of the queue and synchronization field contained in the parameter list; 4) if the comparison in step a3) matches, i) linking the element into the queue, ii) unlocking the queue, and iii) obtaining information from a dequeuing process contained in the synchronization field and action on it, and b) unlinking an element from the queue by 1) storing the present state of the queue including the synchronization field into a parameter list, 2) locking the queue to other processes, 3) comparing the state of the queue and the synchronization field after locking to the state of the queue and synchronization field contained in the parameter list, 4) if the comparison in step b3) matches, i) unlinking the element from the queue, ii) unlocking the queue, and iii) writing information into the synchronization field for a queuing process to act on.