summaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2011-09-10 07:18:29 -0700
committerChris Robinson <[email protected]>2011-09-10 07:18:29 -0700
commit419294cddd7a437eb8d4bc5c0ffa6861d794d99b (patch)
tree0536691ef5ba70d257e29df96dad08e9d3c6631f /OpenAL32
parentb9448a476e7e4f7e3077265fd894190f6c836c59 (diff)
Avoid locking the device when adding and removing contexts
Also, don't keep track of the number of contexts per device
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alMain.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h
index 7c042b55..ddc3857f 100644
--- a/OpenAL32/Include/alMain.h
+++ b/OpenAL32/Include/alMain.h
@@ -569,8 +569,7 @@ struct ALCdevice_struct
ALfloat PendingClicks[MAXCHANNELS];
// Contexts created on this device
- ALCcontext *ContextList;
- ALuint NumContexts;
+ ALCcontext *volatile ContextList;
BackendFuncs *Funcs;
void *ExtraData; // For the backend's use
@@ -633,7 +632,7 @@ struct ALCcontext_struct
ALCdevice *Device;
const ALCchar *ExtensionList;
- ALCcontext *next;
+ ALCcontext *volatile next;
};
void ALCcontext_IncRef(ALCcontext *context);