|
Size: 798
Comment: update content - pointers, structs
|
Size: 1360
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 2: | Line 2: |
| #pragma disable-camelcase ||<tablewidth="100%" style="color: #FF0000;" :> DRAFT|| |
#pragma camelcase off |
| Line 16: | Line 15: |
| ||'''cond'''||^the applicable condition variable^ ???|| | ||'''cond'''||the condition variable to signal|| |
| Line 23: | Line 22: |
| You can add your code example here | SDL_bool condition = SDL_FALSE; SDL_mutex *lock; SDL_cond *cond; lock = SDL_CreateMutex(); cond = SDL_CreateCond(); . . Thread A: SDL_LockMutex(lock); while ( !condition ) { SDL_CondWait(cond, lock); } SDL_UnlockMutex(lock); Thread B: SDL_LockMutex(lock); while ( !condition ) { SDL_CondWait(cond, lock); } SDL_UnlockMutex(lock); Thread C: SDL_LockMutex(lock); ... condition = SDL_TRUE; ... SDL_CondBroadcast(cond); SDL_UnlockMutex(lock); . . SDL_DestroyCond(cond); SDL_DestroyMutex(lock); |
| Line 30: | Line 61: |
| .[[SDL_CondSignal]] * .[[SDL_CondWait]] * |
.[[SDL_CreateCond]] .[[SDL_CondSignal]] .[[SDL_CondWait]] .[[SDL_CondWaitTimeout]] .[[SDL_DestroyCond]] |
SDL_CondBroadcast
Use this function to restart all threads that are waiting on the condition variable.
Contents
Syntax
int SDL_CondBroadcast(SDL_cond* cond)
Function Parameters
cond |
the condition variable to signal |
Return Value
Returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.
Code Examples
SDL_bool condition = SDL_FALSE;
SDL_mutex *lock;
SDL_cond *cond;
lock = SDL_CreateMutex();
cond = SDL_CreateCond();
.
.
Thread A:
SDL_LockMutex(lock);
while ( !condition ) {
SDL_CondWait(cond, lock);
}
SDL_UnlockMutex(lock);
Thread B:
SDL_LockMutex(lock);
while ( !condition ) {
SDL_CondWait(cond, lock);
}
SDL_UnlockMutex(lock);
Thread C:
SDL_LockMutex(lock);
...
condition = SDL_TRUE;
...
SDL_CondBroadcast(cond);
SDL_UnlockMutex(lock);
.
.
SDL_DestroyCond(cond);
SDL_DestroyMutex(lock);
Remarks
You can add useful comments here
