symbian-qemu-0.9.1-12/libsdl-trunk/docs/html/sdlsemtrywait.html
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 <HTML
       
     2 ><HEAD
       
     3 ><TITLE
       
     4 >SDL_SemTryWait</TITLE
       
     5 ><META
       
     6 NAME="GENERATOR"
       
     7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
       
     8 "><LINK
       
     9 REL="HOME"
       
    10 TITLE="SDL Library Documentation"
       
    11 HREF="index.html"><LINK
       
    12 REL="UP"
       
    13 TITLE="Multi-threaded Programming"
       
    14 HREF="thread.html"><LINK
       
    15 REL="PREVIOUS"
       
    16 TITLE="SDL_SemWait"
       
    17 HREF="sdlsemwait.html"><LINK
       
    18 REL="NEXT"
       
    19 TITLE="SDL_SemWaitTimeout"
       
    20 HREF="sdlsemwaittimeout.html"></HEAD
       
    21 ><BODY
       
    22 CLASS="REFENTRY"
       
    23 BGCOLOR="#FFF8DC"
       
    24 TEXT="#000000"
       
    25 LINK="#0000ee"
       
    26 VLINK="#551a8b"
       
    27 ALINK="#ff0000"
       
    28 ><DIV
       
    29 CLASS="NAVHEADER"
       
    30 ><TABLE
       
    31 SUMMARY="Header navigation table"
       
    32 WIDTH="100%"
       
    33 BORDER="0"
       
    34 CELLPADDING="0"
       
    35 CELLSPACING="0"
       
    36 ><TR
       
    37 ><TH
       
    38 COLSPAN="3"
       
    39 ALIGN="center"
       
    40 >SDL Library Documentation</TH
       
    41 ></TR
       
    42 ><TR
       
    43 ><TD
       
    44 WIDTH="10%"
       
    45 ALIGN="left"
       
    46 VALIGN="bottom"
       
    47 ><A
       
    48 HREF="sdlsemwait.html"
       
    49 ACCESSKEY="P"
       
    50 >Prev</A
       
    51 ></TD
       
    52 ><TD
       
    53 WIDTH="80%"
       
    54 ALIGN="center"
       
    55 VALIGN="bottom"
       
    56 ></TD
       
    57 ><TD
       
    58 WIDTH="10%"
       
    59 ALIGN="right"
       
    60 VALIGN="bottom"
       
    61 ><A
       
    62 HREF="sdlsemwaittimeout.html"
       
    63 ACCESSKEY="N"
       
    64 >Next</A
       
    65 ></TD
       
    66 ></TR
       
    67 ></TABLE
       
    68 ><HR
       
    69 ALIGN="LEFT"
       
    70 WIDTH="100%"></DIV
       
    71 ><H1
       
    72 ><A
       
    73 NAME="SDLSEMTRYWAIT"
       
    74 ></A
       
    75 >SDL_SemTryWait</H1
       
    76 ><DIV
       
    77 CLASS="REFNAMEDIV"
       
    78 ><A
       
    79 NAME="AEN8069"
       
    80 ></A
       
    81 ><H2
       
    82 >Name</H2
       
    83 >SDL_SemTryWait&nbsp;--&nbsp;Attempt to lock a semaphore but don't suspend the thread.</DIV
       
    84 ><DIV
       
    85 CLASS="REFSYNOPSISDIV"
       
    86 ><A
       
    87 NAME="AEN8072"
       
    88 ></A
       
    89 ><H2
       
    90 >Synopsis</H2
       
    91 ><DIV
       
    92 CLASS="FUNCSYNOPSIS"
       
    93 ><A
       
    94 NAME="AEN8073"
       
    95 ></A
       
    96 ><P
       
    97 ></P
       
    98 ><PRE
       
    99 CLASS="FUNCSYNOPSISINFO"
       
   100 >#include "SDL.h"
       
   101 #include "SDL_thread.h"</PRE
       
   102 ><P
       
   103 ><CODE
       
   104 ><CODE
       
   105 CLASS="FUNCDEF"
       
   106 >int <B
       
   107 CLASS="FSFUNC"
       
   108 >SDL_SemTryWait</B
       
   109 ></CODE
       
   110 >(SDL_sem *sem);</CODE
       
   111 ></P
       
   112 ><P
       
   113 ></P
       
   114 ></DIV
       
   115 ></DIV
       
   116 ><DIV
       
   117 CLASS="REFSECT1"
       
   118 ><A
       
   119 NAME="AEN8079"
       
   120 ></A
       
   121 ><H2
       
   122 >Description</H2
       
   123 ><P
       
   124 ><TT
       
   125 CLASS="FUNCTION"
       
   126 >SDL_SemTryWait</TT
       
   127 > is a non-blocking varient of
       
   128 <A
       
   129 HREF="sdlsemwait.html"
       
   130 ><TT
       
   131 CLASS="FUNCTION"
       
   132 >SDL_SemWait</TT
       
   133 ></A
       
   134 >. If the value of the semaphore
       
   135 pointed to by <TT
       
   136 CLASS="PARAMETER"
       
   137 ><I
       
   138 >sem</I
       
   139 ></TT
       
   140 > is positive it will atomically
       
   141 decrement the semaphore value and return 0, otherwise it will return
       
   142 <SPAN
       
   143 CLASS="RETURNVALUE"
       
   144 >SDL_MUTEX_TIMEDOUT</SPAN
       
   145 > instead of suspending the thread.</P
       
   146 ><P
       
   147 >After <TT
       
   148 CLASS="FUNCTION"
       
   149 >SDL_SemTryWait</TT
       
   150 > is successful, the semaphore
       
   151 can be released and its count atomically incremented by a successful call to
       
   152 <A
       
   153 HREF="sdlsempost.html"
       
   154 >SDL_SemPost</A
       
   155 >.</P
       
   156 ></DIV
       
   157 ><DIV
       
   158 CLASS="REFSECT1"
       
   159 ><A
       
   160 NAME="AEN8090"
       
   161 ></A
       
   162 ><H2
       
   163 >Return Value</H2
       
   164 ><P
       
   165 >Returns <SPAN
       
   166 CLASS="RETURNVALUE"
       
   167 >0</SPAN
       
   168 > if the semaphore was successfully locked or
       
   169 either <SPAN
       
   170 CLASS="RETURNVALUE"
       
   171 >SDL_MUTEX_TIMEDOUT</SPAN
       
   172 > or <SPAN
       
   173 CLASS="RETURNVALUE"
       
   174 >-1</SPAN
       
   175 >
       
   176 if the thread would have suspended or there was an error, respectivly.</P
       
   177 ><P
       
   178 >If the semaphore was not successfully locked, the semaphore will be unchanged.</P
       
   179 ></DIV
       
   180 ><DIV
       
   181 CLASS="REFSECT1"
       
   182 ><A
       
   183 NAME="AEN8097"
       
   184 ></A
       
   185 ><H2
       
   186 >Examples</H2
       
   187 ><P
       
   188 ><PRE
       
   189 CLASS="PROGRAMLISTING"
       
   190 >res = SDL_SemTryWait(my_sem);
       
   191 
       
   192 if (res == SDL_MUTEX_TIMEDOUT) {
       
   193         return TRY_AGAIN;
       
   194 }
       
   195 if (res == -1) {
       
   196         return WAIT_ERROR;
       
   197 }
       
   198 
       
   199 ...
       
   200 
       
   201 SDL_SemPost(my_sem);</PRE
       
   202 ></P
       
   203 ></DIV
       
   204 ><DIV
       
   205 CLASS="REFSECT1"
       
   206 ><A
       
   207 NAME="AEN8101"
       
   208 ></A
       
   209 ><H2
       
   210 >See Also</H2
       
   211 ><P
       
   212 ><A
       
   213 HREF="sdlcreatesemaphore.html"
       
   214 ><TT
       
   215 CLASS="FUNCTION"
       
   216 >SDL_CreateSemaphore</TT
       
   217 ></A
       
   218 >,
       
   219 <A
       
   220 HREF="sdldestroysemaphore.html"
       
   221 ><TT
       
   222 CLASS="FUNCTION"
       
   223 >SDL_DestroySemaphore</TT
       
   224 ></A
       
   225 >,
       
   226 <A
       
   227 HREF="sdlsemwait.html"
       
   228 ><TT
       
   229 CLASS="FUNCTION"
       
   230 >SDL_SemWait</TT
       
   231 ></A
       
   232 >,
       
   233 <A
       
   234 HREF="sdlsemwaittimeout.html"
       
   235 ><TT
       
   236 CLASS="FUNCTION"
       
   237 >SDL_SemWaitTimeout</TT
       
   238 ></A
       
   239 >,
       
   240 <A
       
   241 HREF="sdlsempost.html"
       
   242 ><TT
       
   243 CLASS="FUNCTION"
       
   244 >SDL_SemPost</TT
       
   245 ></A
       
   246 >,
       
   247 <A
       
   248 HREF="sdlsemvalue.html"
       
   249 ><TT
       
   250 CLASS="FUNCTION"
       
   251 >SDL_SemValue</TT
       
   252 ></A
       
   253 ></P
       
   254 ></DIV
       
   255 ><DIV
       
   256 CLASS="NAVFOOTER"
       
   257 ><HR
       
   258 ALIGN="LEFT"
       
   259 WIDTH="100%"><TABLE
       
   260 SUMMARY="Footer navigation table"
       
   261 WIDTH="100%"
       
   262 BORDER="0"
       
   263 CELLPADDING="0"
       
   264 CELLSPACING="0"
       
   265 ><TR
       
   266 ><TD
       
   267 WIDTH="33%"
       
   268 ALIGN="left"
       
   269 VALIGN="top"
       
   270 ><A
       
   271 HREF="sdlsemwait.html"
       
   272 ACCESSKEY="P"
       
   273 >Prev</A
       
   274 ></TD
       
   275 ><TD
       
   276 WIDTH="34%"
       
   277 ALIGN="center"
       
   278 VALIGN="top"
       
   279 ><A
       
   280 HREF="index.html"
       
   281 ACCESSKEY="H"
       
   282 >Home</A
       
   283 ></TD
       
   284 ><TD
       
   285 WIDTH="33%"
       
   286 ALIGN="right"
       
   287 VALIGN="top"
       
   288 ><A
       
   289 HREF="sdlsemwaittimeout.html"
       
   290 ACCESSKEY="N"
       
   291 >Next</A
       
   292 ></TD
       
   293 ></TR
       
   294 ><TR
       
   295 ><TD
       
   296 WIDTH="33%"
       
   297 ALIGN="left"
       
   298 VALIGN="top"
       
   299 >SDL_SemWait</TD
       
   300 ><TD
       
   301 WIDTH="34%"
       
   302 ALIGN="center"
       
   303 VALIGN="top"
       
   304 ><A
       
   305 HREF="thread.html"
       
   306 ACCESSKEY="U"
       
   307 >Up</A
       
   308 ></TD
       
   309 ><TD
       
   310 WIDTH="33%"
       
   311 ALIGN="right"
       
   312 VALIGN="top"
       
   313 >SDL_SemWaitTimeout</TD
       
   314 ></TR
       
   315 ></TABLE
       
   316 ></DIV
       
   317 ></BODY
       
   318 ></HTML
       
   319 >