gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/parser/movie_def_impl.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/parser/movie_def_impl.cpp
Date: Tue, 07 Nov 2006 10:12:49 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/11/07 10:12:49

Modified files:
        .              : ChangeLog 
        server/parser  : movie_def_impl.cpp 

Log message:
                * server/parser/movie_def_impl.cpp: fix support
                  for completely disabling using a separate
                  thread for loading (just undef the
                  LOAD_MOVIES_IN_A_SEPARATE_THREAD macro)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1542&r2=1.1543
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/movie_def_impl.cpp?cvsroot=gnash&r1=1.32&r2=1.33

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1542
retrieving revision 1.1543
diff -u -b -r1.1542 -r1.1543
--- ChangeLog   6 Nov 2006 19:35:05 -0000       1.1542
+++ ChangeLog   7 Nov 2006 10:12:49 -0000       1.1543
@@ -1,3 +1,10 @@
+2006-11-07 Sandro Santilli <address@hidden>
+
+       * server/parser/movie_def_impl.cpp: fix support
+         for completely disabling using a separate
+         thread for loading (just undef the
+         LOAD_MOVIES_IN_A_SEPARATE_THREAD macro)
+
 2006-11-06  Rob Savoye  <address@hidden>
 
        * libltdl: New directory for libtool library, which is supposed to

Index: server/parser/movie_def_impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/movie_def_impl.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- server/parser/movie_def_impl.cpp    4 Nov 2006 01:25:35 -0000       1.32
+++ server/parser/movie_def_impl.cpp    7 Nov 2006 10:12:49 -0000       1.33
@@ -64,12 +64,15 @@
        _waiting_for_frame(0),
        _movie_def(md)
 {
+#ifdef LOAD_MOVIES_IN_A_SEPARATE_THREAD
        pthread_cond_init(&_frame_reached_condition, NULL);
        pthread_mutex_init(&_mutex, NULL);
+#endif
 }
 
 MovieLoader::~MovieLoader()
 {
+#ifdef LOAD_MOVIES_IN_A_SEPARATE_THREAD
        if ( pthread_cond_destroy(&_frame_reached_condition) != 0 )
        {
                log_error("Error destroying MovieLoader condition");
@@ -79,6 +82,7 @@
        {
                log_error("Error destroying MovieLoader mutex");
        }
+#endif
 }
 
 void*
@@ -98,6 +102,10 @@
 bool
 MovieLoader::start()
 {
+#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
+       // don't start MovieLoader thread !
+       assert(0);
+#endif
        if ( pthread_create(&_thread, NULL, execute, &_movie_def) )
        {
                return false;
@@ -111,6 +119,9 @@
 inline void
 MovieLoader::signal_frame_loaded(size_t frameno)
 {
+#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
+       return; 
+#endif
        if (_waiting_for_frame &&
                frameno >= _waiting_for_frame )
        {
@@ -121,6 +132,9 @@
 inline void
 MovieLoader::lock()
 {
+#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
+       return; // nothing to do as there's no mutex
+#endif
 
 #ifdef DEBUG_THREADS_LOCKING
        // debugging
@@ -149,6 +163,9 @@
 inline void
 MovieLoader::unlock()
 {
+#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
+       return;
+#endif
 
 #ifdef DEBUG_THREADS_LOCKING
        // debugging
@@ -177,6 +194,9 @@
 void
 MovieLoader::wait_for_frame(size_t framenum)
 {
+#ifndef LOAD_MOVIES_IN_A_SEPARATE_THREAD
+       assert(0); // don't call wait_for_frame !
+#endif
 
        // lock the loader so we can rely on m_loading_frame
        lock();
@@ -573,9 +593,13 @@
 bool
 movie_def_impl::ensure_frame_loaded(size_t framenum)
 {
+#ifdef LOAD_MOVIES_IN_A_SEPARATE_THREAD 
         //log_msg("Waiting for frame %u to be loaded", framenum);
        _loader.wait_for_frame(framenum);
         //log_msg("Condition reached (m_loading_frame=%u)", m_loading_frame);
+#else
+       assert ( framenum <= m_loading_frame );
+#endif
 
 
        // TODO: return false on timeout 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]