Commit 26f72edc authored by Warren Dukes's avatar Warren Dukes

add volatile qualifiers to some shared mem buffer stuff, to enusre compiler

doesn't optimize out order sensitive stuff git-svn-id: https://svn.musicpd.org/mpd/trunk@698 09075e82-0dd4-0310-85a5-a0d7c8717e4f
parent ae33b348
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
int * decode_pid = NULL; int volatile * decode_pid = NULL;
void decodeSigHandler(int sig) { void decodeSigHandler(int sig) {
if(sig==SIGCHLD) { if(sig==SIGCHLD) {
......
...@@ -52,11 +52,11 @@ ...@@ -52,11 +52,11 @@
typedef struct _PlayerControl { typedef struct _PlayerControl {
mpd_sint8 decodeType; mpd_sint8 decodeType;
mpd_sint8 stop; mpd_sint8 volatile stop;
mpd_sint8 play; mpd_sint8 volatile play;
mpd_sint8 pause; mpd_sint8 volatile pause;
mpd_sint8 state; mpd_sint8 volatile state;
mpd_sint8 closeAudio; mpd_sint8 volatile closeAudio;
mpd_sint8 error; mpd_sint8 error;
mpd_uint16 bitRate; mpd_uint16 bitRate;
mpd_sint8 bits; mpd_sint8 bits;
...@@ -67,16 +67,16 @@ typedef struct _PlayerControl { ...@@ -67,16 +67,16 @@ typedef struct _PlayerControl {
float elapsedTime; float elapsedTime;
char file[MAXPATHLEN+1]; char file[MAXPATHLEN+1];
char erroredFile[MAXPATHLEN+1]; char erroredFile[MAXPATHLEN+1];
mpd_sint8 queueState; mpd_sint8 volatile queueState;
mpd_sint8 queueLockState; mpd_sint8 volatile queueLockState;
mpd_sint8 lockQueue; mpd_sint8 volatile lockQueue;
mpd_sint8 unlockQueue; mpd_sint8 volatile unlockQueue;
mpd_sint8 seek; mpd_sint8 volatile seek;
double seekWhere; double seekWhere;
float crossFade; float crossFade;
mpd_uint16 softwareVolume; mpd_uint16 softwareVolume;
double totalPlayTime; double totalPlayTime;
int decode_pid; int volatile decode_pid;
} PlayerControl; } PlayerControl;
void player_sigChldHandler(int pid, int status); void player_sigChldHandler(int pid, int status);
......
...@@ -33,14 +33,14 @@ extern int buffered_before_play; ...@@ -33,14 +33,14 @@ extern int buffered_before_play;
extern int buffered_chunks; extern int buffered_chunks;
typedef struct _Buffer { typedef struct _Buffer {
char * chunks; char * volatile chunks;
mpd_uint16 * chunkSize; mpd_uint16 * volatile chunkSize;
mpd_uint16 * bitRate; mpd_uint16 * volatile bitRate;
float * times; float * volatile times;
mpd_sint16 begin; mpd_sint16 volatile begin;
mpd_sint16 end; mpd_sint16 volatile end;
mpd_sint16 next; mpd_sint16 volatile next;
mpd_sint8 wrap; mpd_sint8 volatile wrap;
float totalTime; float totalTime;
} Buffer; } Buffer;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment