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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. .TH "SDL_SemWaitTimeout" "3" "Tue 11 Sep 2001, 23:00" "SDL" "SDL API Reference" 
  2. .SH "NAME"
  3. SDL_SemWaitTimeout- Lock a semaphore, but only wait up to a specified maximum time&.
  4. .SH "SYNOPSIS"
  5. .PP
  6. fB#include "SDL&.h"
  7. #include "SDL_thread&.h"
  8. .sp
  9. fBint fBSDL_SemWaitTimeoutfPfR(fBSDL_sem *sem, Uint32 timeoutfR);
  10. .SH "DESCRIPTION"
  11. .PP
  12. fBSDL_SemWaitTimeout()fP is a varient of fISDL_SemWaitfR with a maximum timeout value&. If the value of the semaphore pointed to by fBsemfR is positive (greater than zero) it will atomically decrement the semaphore value and return 0, otherwise it will wait up to fBtimeoutfR milliseconds trying to lock the semaphore&. This function is to be avoided if possible since on some platforms it is implemented by polling the semaphore every millisecond in a busy loop&.
  13. .PP
  14. After fBSDL_SemWaitTimeout()fP 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 timeout period was exceeded 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_SemWaitTimeout(my_sem, WAIT_TIMEOUT_MILLISEC);
  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_SemTryWaitfPfR, fIfBSDL_SemPostfPfR, fIfBSDL_SemValuefPfR
  38. ..." created by instant / docbook-to-man, Tue 11 Sep 2001, 23:00