Austin Group Defect Tracker

Aardvark Mark III


Viewing Issue Simple Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Type Date Submitted Last Update
0000532 [1003.1(2008)/Issue 7] System Interfaces Editorial Clarification Requested 2012-01-02 22:41 2012-01-13 09:20
Reporter weeks View Status public  
Assigned To ajosey
Priority normal Resolution Accepted As Marked  
Status Resolved  
Name Nathan Weeks
Organization Iowa State University HPC Group
User Reference
Section semctl
Page Number 1833
Line Number 58506
Interp Status ---
Final Accepted Text Note: 0001090
Summary 0000532: clarify atomicity of semctl()
Description It would be helpful to clarify the atomicity of semctl() commands, especially
SETALL; e.g., in the unlikely case of concurrent SETALL operations, or in the
more likely case when a process is blocked in a semop(), and the values of the
semaphores in the set are altered by a call to semctl() in another process.

For example, if a semaphore set comprises two semaphores with values {0, 0},
and a process is blocked in a call to semop() with sem_ops {-1, 0}, it would
ideally not be possible for this semop() to complete during a call to
semctl(...,SETALL,...) in another process with arg.array values of {1, 1}.

Regarding existing practice, the Linux semctl() manual page contains the
following wording, which seems to imply issuing a SETALL or SETVAL command
when there are pending semop() operations is safe on Linux:

"...If the changes to semaphore values would permit blocked semop(2) calls in
other processes to proceed, then those processes are woken up."
Desired Action Clarify the atomicity requirements for semctl().
Tags tc2-2008
Attached Files

- Relationships

-  Notes
(0001090)
msbrown (manager)
2012-01-12 16:49

Add the following new paragraph after the line 58506:

Each operation shall be performed atomically.

- Issue History
Date Modified Username Field Change
2012-01-02 22:41 weeks New Issue
2012-01-02 22:41 weeks Status New => Under Review
2012-01-02 22:41 weeks Assigned To => ajosey
2012-01-02 22:41 weeks Name => Nathan Weeks
2012-01-02 22:41 weeks Organization => Iowa State University HPC Group
2012-01-02 22:41 weeks Section => semctl
2012-01-02 22:41 weeks Page Number => 0
2012-01-02 22:41 weeks Line Number => 0
2012-01-12 16:49 msbrown Page Number 0 => 1833
2012-01-12 16:49 msbrown Interp Status => ---
2012-01-12 16:49 msbrown Note Added: 0001090
2012-01-12 16:49 msbrown Status Under Review => Resolution Proposed
2012-01-12 16:49 msbrown Resolution Open => Accepted As Marked
2012-01-12 16:49 msbrown Tag Attached: tc2-2008
2012-01-12 16:50 msbrown Line Number 0 => 58506
2012-01-12 16:50 msbrown Final Accepted Text => Note: 0001090
2012-01-13 09:20 geoffclare Status Resolution Proposed => Resolved


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker