SDL_SemTryWait.3
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. .TH "SDL_SemTryWait" "3" "Tue 11 Sep 2001, 23:00" "SDL" "SDL API Reference" 
  2. .SH "NAME"
  3. SDL_SemTryWait- Attempt to lock a semaphore but don&'t suspend the thread&.
  4. .SH "SYNOPSIS"
  5. .PP
  6. fB#include "SDL&.h"
  7. #include "SDL_thread&.h"
  8. .sp
  9. fBint fBSDL_SemTryWaitfPfR(fBSDL_sem *semfR);
  10. .SH "DESCRIPTION"
  11. .PP
  12. fBSDL_SemTryWaitfP is a non-blocking varient of fIfBSDL_SemWaitfPfR&. If the value of the semaphore pointed to by fBsemfR is positive it will atomically decrement the semaphore value and return 0, otherwise it will return fBSDL_MUTEX_TIMEOUTfR instead of suspending the thread&.
  13. .PP
  14. After fBSDL_SemTryWaitfP is successful, the semaphore can be released and its count atomically incremented by a successful call to fISDL_SemPostfR&.
  15. .SH "RETURN VALUE"
  16. .PP
  17. Returns fB0fR if the semaphore was successfully locked or either fBSDL_MUTEX_TIMEOUTfR or fB-1fR if the thread would have suspended or there was an error, respectivly&.
  18. .PP
  19. If the semaphore was not successfully locked, the semaphore will be unchanged&.
  20. .SH "EXAMPLES"
  21. .PP
  22. .PP
  23. .nf
  24. f(CWres = SDL_SemTryWait(my_sem);
  25. if (res == SDL_MUTEX_TIMEOUT) {
  26.         return TRY_AGAIN;
  27. }
  28. if (res == -1) {
  29.         return WAIT_ERROR;
  30. }
  31. &.&.&.
  32. SDL_SemPost(my_sem);fR
  33. .fi
  34. .PP
  35. .SH "SEE ALSO"
  36. .PP
  37. fIfBSDL_CreateSemaphorefPfR, fIfBSDL_DestroySemaphorefPfR, fIfBSDL_SemWaitfPfR, fIfBSDL_SemWaitTimeoutfPfR, fIfBSDL_SemPostfPfR, fIfBSDL_SemValuefPfR
  38. ..." created by instant / docbook-to-man, Tue 11 Sep 2001, 23:00