METHOD AND SYSTEM FOR ROBUST FUTEXES
First Claim
Patent Images
1. A method of managing primitives, the method comprising:
- providing a private data structure in user space, the private data structure being configured to link to a futex designated as being held by a first computer process, wherein the private data structure is private to the first computer process and wherein the futex serves as a lock on a resource provided by a computer system;
detecting a termination of the first computer process;
searching the private data structure for a status of the futex;
releasing the futex if the status indicates that the futex is held by the first computer process; and
setting a first flag for the futex indicating that the first computer process terminated prior to releasing the futex.
0 Assignments
0 Petitions
Accused Products
Abstract
An embodiment relates to a method of managing primitives. The method includes providing a data structure available in user-space where the data structure comprises at least one futex. The method also includes detecting a termination of the process and searching the data structure for status of the at least one futex. The method further includes releasing the at least one futex in response to status of the at least one futex being held and setting a flag for at least one futex. The method further includes notifying at least one process waiting for the released at least one futex.
6 Citations
20 Claims
-
1. A method of managing primitives, the method comprising:
-
providing a private data structure in user space, the private data structure being configured to link to a futex designated as being held by a first computer process, wherein the private data structure is private to the first computer process and wherein the futex serves as a lock on a resource provided by a computer system; detecting a termination of the first computer process; searching the private data structure for a status of the futex; releasing the futex if the status indicates that the futex is held by the first computer process; and setting a first flag for the futex indicating that the first computer process terminated prior to releasing the futex. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus for managing primitives in a computer system, the apparatus comprising:
-
a private data structure in user space, the private data structure being configured to link to a futex designated as being held by a first computer process, wherein the private data structure is private to the first computer process and wherein the futex serves as a lock on a resource provided by a computer system; and a futex module configured to— detect a termination of the first computer process; search the private data structure for a status of the futex; release the futex if the status indicates that the futex is held by the first computer process; and set a first flag for the futex indicating that the first computer process terminated prior to releasing the futex. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system for managing primitives, comprising:
-
a memory configured to store a private data structure in user space, the private data structure linking to a futex designated as being held by a first computer process, wherein the private data structure is private to the first computer process and wherein the futex serves as a lock on a resource provided by a computer system; a processor coupled to the memory and configured to— detect a termination of the first computer process; search the private data structure in the memory for a status of the futex; release the futex if the status indicates that the futex is held by the first computer process; and set a first flag for the futex indicating that the first computer process terminated prior to releasing the futex. - View Dependent Claims (17, 18, 19, 20)
-
Specification