Changeset 9179d0a in mainline for generic/src/synch/waitq.c
- Timestamp:
- 2006-04-27T17:13:49Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 040e4e9
- Parents:
- eaa202a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/src/synch/waitq.c
reaa202a r9179d0a 25 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 /** 30 * @file waitq.c 31 * @brief Wait queue. 32 * 33 * Wait queue is the basic synchronization primitive upon all 34 * other synchronization primitives build. 35 * 36 * It allows threads to wait for an event in first-come, first-served 37 * fashion. Conditional operation as well as timeouts and interruptions 38 * are supported. 27 39 */ 28 40 … … 161 173 * @param nonblocking Blocking vs. non-blocking operation mode switch. 162 174 * 163 * If @usec is greater than zero, regardless of the value of @nonblocking,175 * If usec is greater than zero, regardless of the value of nonblocking, 164 176 * the call will not return until either timeout or wakeup comes. 165 177 * 166 * If @usec is zero and @nonblocking is zero (false), the call178 * If usec is zero and @nonblocking is zero (false), the call 167 179 * will not return until wakeup comes. 168 180 * 169 * If @usec is zero and @nonblocking is non-zero (true), the call will181 * If usec is zero and nonblocking is non-zero (true), the call will 170 182 * immediately return, reporting either success or failure. 171 183 * 172 * @return Returns one of: ESYNCH_WOULD_BLOCK, ESYNCH_TIMEOUT,173 * 174 * 175 * ESYNCH_WOULD_BLOCK means that the sleep failed because at the time184 * @return Returns one of: ESYNCH_WOULD_BLOCK, ESYNCH_TIMEOUT, 185 * ESYNCH_OK_ATOMIC, ESYNCH_OK_BLOCKED. 186 * 187 * @li ESYNCH_WOULD_BLOCK means that the sleep failed because at the time 176 188 * of the call there was no pending wakeup. 177 189 * 178 * ESYNCH_TIMEOUT means that the sleep timed out.179 * 180 * ESYNCH_INTERRUPTED means that somebody interrupted the sleeping thread.181 * 182 * ESYNCH_OK_ATOMIC means that the sleep succeeded and that there was190 * @li ESYNCH_TIMEOUT means that the sleep timed out. 191 * 192 * @li ESYNCH_INTERRUPTED means that somebody interrupted the sleeping thread. 193 * 194 * @li ESYNCH_OK_ATOMIC means that the sleep succeeded and that there was 183 195 * a pending wakeup at the time of the call. The caller was not put 184 196 * asleep at all. 185 197 * 186 * ESYNCH_OK_BLOCKED means that the sleep succeeded; the full sleep was198 * @li ESYNCH_OK_BLOCKED means that the sleep succeeded; the full sleep was 187 199 * attempted. 188 200 */
Note:
See TracChangeset
for help on using the changeset viewer.