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
This commit is contained in:
Warren Dukes 2004-04-11 23:37:18 +00:00
parent ae33b348af
commit 26f72edc46
3 changed files with 20 additions and 20 deletions

View File

@ -52,7 +52,7 @@
#include <unistd.h>
#include <string.h>
int * decode_pid = NULL;
int volatile * decode_pid = NULL;
void decodeSigHandler(int sig) {
if(sig==SIGCHLD) {

View File

@ -52,11 +52,11 @@
typedef struct _PlayerControl {
mpd_sint8 decodeType;
mpd_sint8 stop;
mpd_sint8 play;
mpd_sint8 pause;
mpd_sint8 state;
mpd_sint8 closeAudio;
mpd_sint8 volatile stop;
mpd_sint8 volatile play;
mpd_sint8 volatile pause;
mpd_sint8 volatile state;
mpd_sint8 volatile closeAudio;
mpd_sint8 error;
mpd_uint16 bitRate;
mpd_sint8 bits;
@ -67,16 +67,16 @@ typedef struct _PlayerControl {
float elapsedTime;
char file[MAXPATHLEN+1];
char erroredFile[MAXPATHLEN+1];
mpd_sint8 queueState;
mpd_sint8 queueLockState;
mpd_sint8 lockQueue;
mpd_sint8 unlockQueue;
mpd_sint8 seek;
mpd_sint8 volatile queueState;
mpd_sint8 volatile queueLockState;
mpd_sint8 volatile lockQueue;
mpd_sint8 volatile unlockQueue;
mpd_sint8 volatile seek;
double seekWhere;
float crossFade;
mpd_uint16 softwareVolume;
double totalPlayTime;
int decode_pid;
int volatile decode_pid;
} PlayerControl;
void player_sigChldHandler(int pid, int status);

View File

@ -33,14 +33,14 @@ extern int buffered_before_play;
extern int buffered_chunks;
typedef struct _Buffer {
char * chunks;
mpd_uint16 * chunkSize;
mpd_uint16 * bitRate;
float * times;
mpd_sint16 begin;
mpd_sint16 end;
mpd_sint16 next;
mpd_sint8 wrap;
char * volatile chunks;
mpd_uint16 * volatile chunkSize;
mpd_uint16 * volatile bitRate;
float * volatile times;
mpd_sint16 volatile begin;
mpd_sint16 volatile end;
mpd_sint16 volatile next;
mpd_sint8 volatile wrap;
float totalTime;
} Buffer;