[Scummvm-cvs-logs] CVS: scummvm/bs2/driver d_sound.cpp,1.36,1.37

Torbj?rn Andersson eriktorbjorn at users.sourceforge.net
Wed Sep 3 12:00:13 CEST 2003


Update of /cvsroot/scummvm/scummvm/bs2/driver
In directory sc8-pr-cvs1:/tmp/cvs-serv7859

Modified Files:
	d_sound.cpp 
Log Message:
Added FIXME comment about how we probably need locking for FxServer() and
the functions which access data manipulated by FxServer().

For instance, FxServer() may free bufferFx[i], which sounds potentially
unhealthy to me.


Index: d_sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/d_sound.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- d_sound.cpp	3 Sep 2003 06:27:25 -0000	1.36
+++ d_sound.cpp	3 Sep 2003 18:59:02 -0000	1.37
@@ -301,6 +301,14 @@
 //	a slow timer from rdwin.c
 //	--------------------------------------------------------------------------
 void Sword2Sound::FxServer(void) {
+	// FIXME: This function is called from a separate thread, and
+	// manipulates data structures that are used by several other
+	// functions throughout the file.
+	//
+	// I guess that means we need to add locking and stuff.
+	//
+	// Maybe that explains why BS2 still crashes every now and then.
+
 	int i;
 
 	if (!soundOn)
@@ -318,7 +326,7 @@
 					fxId[i] = 0;
 					if (bufferFx[i] != NULL) {
 						free(bufferFx[i]);
-					bufferFx[i] = NULL;
+						bufferFx[i] = NULL;
 					}
 					bufferSizeFx[i] = 0;
 					flagsFx[i] = 0;





More information about the Scummvm-git-logs mailing list