[mongodb] Fix BZ 725601

Chris Lalancette clalance at fedoraproject.org
Thu Jul 28 12:16:13 UTC 2011


commit 0b341e8244473052a3954adfaaedb05fc81787e3
Author: Chris Lalancette <clalance at redhat.com>
Date:   Thu Jul 28 08:15:47 2011 -0400

    Fix BZ 725601
    
    Signed-off-by: Chris Lalancette <clalance at redhat.com>

 mongodb-src-r1.8.2-js.patch |   37 ++++++++++++++++++++++++++++++++-----
 mongodb.spec                |    5 ++++-
 2 files changed, 36 insertions(+), 6 deletions(-)
---
diff --git a/mongodb-src-r1.8.2-js.patch b/mongodb-src-r1.8.2-js.patch
index b126d6b..1dd53f8 100644
--- a/mongodb-src-r1.8.2-js.patch
+++ b/mongodb-src-r1.8.2-js.patch
@@ -1,6 +1,6 @@
 diff -urp mongodb-src-r1.8.2.orig/SConstruct mongodb-src-r1.8.2/SConstruct
---- mongodb-src-r1.8.2.orig/SConstruct	2011-07-01 11:55:58.350694155 -0400
-+++ mongodb-src-r1.8.2/SConstruct	2011-07-01 11:56:17.108504474 -0400
+--- mongodb-src-r1.8.2.orig/SConstruct	2011-07-28 07:54:25.062096915 -0400
++++ mongodb-src-r1.8.2/SConstruct	2011-07-28 07:55:01.783588460 -0400
 @@ -668,10 +668,9 @@ if nix:
      if has_option( "distcc" ):
          env["CXX"] = "distcc " + env["CXX"]
@@ -24,7 +24,7 @@ diff -urp mongodb-src-r1.8.2.orig/SConstruct mongodb-src-r1.8.2/SConstruct
          # then:
 diff -urp mongodb-src-r1.8.2.orig/scripting/engine_spidermonkey.cpp mongodb-src-r1.8.2/scripting/engine_spidermonkey.cpp
 --- mongodb-src-r1.8.2.orig/scripting/engine_spidermonkey.cpp	2011-06-15 09:43:13.000000000 -0400
-+++ mongodb-src-r1.8.2/scripting/engine_spidermonkey.cpp	2011-07-01 12:00:32.489692570 -0400
++++ mongodb-src-r1.8.2/scripting/engine_spidermonkey.cpp	2011-07-28 07:56:02.463076986 -0400
 @@ -192,35 +192,18 @@ namespace mongo {
          }
  
@@ -99,6 +99,33 @@ diff -urp mongodb-src-r1.8.2.orig/scripting/engine_spidermonkey.cpp mongodb-src-
  
              case MinKey:
                  return OBJECT_TO_JSVAL( JS_NewObject( _context , &minkey_class , 0 , 0 ) );
+@@ -782,7 +767,7 @@ namespace mongo {
+                 *statep = PRIVATE_TO_JSVAL( it );
+             }
+             else {
+-                *statep = 0;
++	      *statep = PRIVATE_TO_JSVAL( NULL );
+             }
+             if ( idp )
+                 *idp = JSVAL_ZERO;
+@@ -791,7 +776,7 @@ namespace mongo {
+ 
+         BSONFieldIterator * it = (BSONFieldIterator*)JSVAL_TO_PRIVATE( *statep );
+         if ( ! it ) {
+-            *statep = 0;
++            *statep = JSVAL_NULL;
+             return JS_TRUE;
+         }
+ 
+@@ -803,7 +788,7 @@ namespace mongo {
+             }
+             else {
+                 delete it;
+-                *statep = 0;
++                *statep = JSVAL_NULL;
+             }
+             return JS_TRUE;
+         }
 @@ -818,7 +803,7 @@ namespace mongo {
          return JS_FALSE;
      }
@@ -425,7 +452,7 @@ diff -urp mongodb-src-r1.8.2.orig/scripting/engine_spidermonkey.cpp mongodb-src-
  #include "sm_db.cpp"
 diff -urp mongodb-src-r1.8.2.orig/scripting/engine_spidermonkey.h mongodb-src-r1.8.2/scripting/engine_spidermonkey.h
 --- mongodb-src-r1.8.2.orig/scripting/engine_spidermonkey.h	2011-06-15 09:43:13.000000000 -0400
-+++ mongodb-src-r1.8.2/scripting/engine_spidermonkey.h	2011-07-01 12:00:47.958886768 -0400
++++ mongodb-src-r1.8.2/scripting/engine_spidermonkey.h	2011-07-28 07:55:01.786588338 -0400
 @@ -42,9 +42,6 @@
  #endif
  
@@ -447,7 +474,7 @@ diff -urp mongodb-src-r1.8.2.orig/scripting/engine_spidermonkey.h mongodb-src-r1
      // mongo
 diff -urp mongodb-src-r1.8.2.orig/scripting/sm_db.cpp mongodb-src-r1.8.2/scripting/sm_db.cpp
 --- mongodb-src-r1.8.2.orig/scripting/sm_db.cpp	2011-06-15 09:43:13.000000000 -0400
-+++ mongodb-src-r1.8.2/scripting/sm_db.cpp	2011-07-01 12:03:03.220174591 -0400
++++ mongodb-src-r1.8.2/scripting/sm_db.cpp	2011-07-28 07:55:01.795587967 -0400
 @@ -22,6 +22,9 @@
  #include "../util/text.h"
  #include "../util/hex.h"
diff --git a/mongodb.spec b/mongodb.spec
index f2383ae..c7a1893 100644
--- a/mongodb.spec
+++ b/mongodb.spec
@@ -1,7 +1,7 @@
 %global         daemon mongod
 Name:           mongodb
 Version:        1.8.2
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        High-performance, schema-free document-oriented database
 Group:          Applications/Databases
 License:        AGPLv3 and zlib and ASL 2.0
@@ -203,6 +203,9 @@ fi
 %{_includedir}/mongo
 
 %changelog
+* Thu Jul 28 2011 Chris Lalancette <clalance at redhat.com> - 1.8.2-6
+- BZ 725601 - fix the javascript engine to not hang (thanks to Eduardo Habkost)
+
 * Mon Jul 25 2011 Chris Lalancette <clalance at redhat.com> - 1.8.2-5
 - Fixes to post server, preun server, and postun server to use systemd
 


More information about the scm-commits mailing list