Permalink
Commits on Nov 21, 2011
  1. Eliminate delay in restarting CouchDB when app resumes

    * Instead of restarting the entire Erlang VM, just restart the couch_httpd server, which is very fast.
    * On wake, check whether the listener socket is still alive, and only restart if it's not.
    
    Change-Id: I938b4d3c8fa79c99c0fdcc0f4406a25dff646b45
    Reviewed-on: http://review.couchbase.org/11016
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Nov 18, 2011
Commits on Nov 9, 2011
  1. Disable some temporary log messages we added during bringup.

    Change-Id: I5e1440bf2f1667990f6b79c511e85aabeae23c35
    Reviewed-on: http://review.couchbase.org/10595
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Nov 3, 2011
Commits on Nov 2, 2011
  1. Implemented crypto functions needed for SSL

    Some of them required OpenSSL (libcrypto) so we're dependent on it again.
    
    Change-Id: I1c9d5fabd4a3cbc68d3d95089ce89d47569851ea
    Reviewed-on: http://review.couchbase.org/10513
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Oct 28, 2011
Commits on Oct 25, 2011
  1. Objective-C view support for Couchbase Mobile iOS

    This is a squashed commit of all the work done on other
    branches by Jonathon Mah & me.
    
    (The source code is in the couchdb repo. This commit just
    adds the source files to the Xcode project, and registers
    the NIF.)
    
    Change-Id: I0a7acd8a5c7bd93137dfb35ca5af30a604a7c886
    Reviewed-on: http://review.couchbase.org/10025
    Reviewed-by: Jonathon Mah <me@jonathonmah.com>
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Oct 9, 2011
  2. Added EMONK_DISABLED preprocessor flag

    Allows emonk to be disabled, duh. Makes the final app 1MB
    smaller. There's nothing to turn this flag on yet, though.
    
    Change-Id: I984fa7e6d5d7e94070cdd6f8dc71a9044b220821
    Reviewed-on: http://review.couchbase.org/10024
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Oct 7, 2011
Commits on Oct 8, 2011
  1. Disable expensive access() system calls

    Speeds up EmptyApp launch time by 9%.
    
    Change-Id: I2f86f9bbd455049767e5b29adf9e13be08780116
    Reviewed-on: http://review.couchbase.org/9856
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Sep 29, 2011
Commits on Oct 5, 2011
  1. Implement incremental MD5 digest routines

    Added the crypto commands DRV_MD5_INIT, DRV_MD5_UPDATE, DRV_MD5_FINAL.
    Re-enabled the warning for unimplemented commands.
    
    Change-Id: I09ac191d88fb5f925fd4fa05dfd13d0ace878c21
    Reviewed-on: http://review.couchbase.org/9818
    Reviewed-by: Jens Alfke <jens@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Sep 27, 2011
Commits on Oct 4, 2011
  1. comment out error logging on missing crypto commands

    Change-Id: Ife57c0c4c137164dc582be0aca18076561e6a5a6
    Reviewed-on: http://review.couchbase.org/9943
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Chris Anderson <jchris@couchbase.com>
    jchris committed Oct 4, 2011
Commits on Sep 27, 2011
  1. Fixed recreate_doc.js test failure

    My reimplementation of crypto_drv didn't correctly parse
    the number 0 in a parameter to DRV_RAND_UNIFORM.
    
    Change-Id: If4448fd6c481b7a295e0c238dcae835f1684d38d
    Reviewed-on: http://review.couchbase.org/9732
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Chris Anderson <jchris@couchbase.com>
    snej committed with jchris Sep 22, 2011
Commits on Sep 22, 2011
  1. Fix string collation

    The CFString-based collation driver wasn't following the
    same Unicode collation rules that CouchDB expects. This
    broke the view_collation JS test.
    Fixed by adding kCFCompareLocalized flag.
    
    Change-Id: Ibdb3ea619526d4f3cdd7c3be48e54d05d1ee02df
    Reviewed-on: http://review.couchbase.org/9725
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Sep 22, 2011
Commits on Sep 21, 2011
  1. Remove sig_drv.c and ttsl_drv.c

    Neither is used by CouchDB, and sig_drv actually causes a
    link error if dead-code stripping isn't turned on.
    
    Change-Id: Ia5723145a20102dd48e57dbe72305844a043ab86
    Reviewed-on: http://review.couchbase.org/9664
    Reviewed-by: Aaron Miller <apage43@ninjawhale.com>
    Reviewed-by: Marty Schoch <marty.schoch@gmail.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Sep 19, 2011
  2. Remove zlib sources

    We can link against libz.dylib instead and save 40k.
    
    Change-Id: I83e3ac83484f8af111677f59a4decf6cdd99ecb9
    Reviewed-on: http://review.couchbase.org/9610
    Reviewed-by: Aaron Miller <apage43@ninjawhale.com>
    Tested-by: Aaron Miller <apage43@ninjawhale.com>
    snej committed with apage43 Sep 15, 2011
Commits on Sep 15, 2011
  1. Remove dependency on OpenSSL

    Replace crypto_drv.c with new crypto_drv_ios.c. It
    implements only a small subset of the crypto operations,
    just the ones CouchDB appears to use, using system APIs.
    
    Change-Id: I910d5741d4d9357ceb15cf02949cb701307e6534
    Reviewed-on: http://review.couchbase.org/9587
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Sep 14, 2011
Commits on Sep 12, 2011
  1. Avoid JS assertion failure on wake from sleep

    emonk_main.c calls JS_SetCStringsAreUTF8 when registering monk. But that function has an assertion making sure that it can only ever be called once. To avoid this, just #define JS_C_STRINGS_ARE_UTF8 so we don't have to set this at runtime. It probably makes some string processing code faster too.
    The same change to js-config.h has to be made to the copy of the file in iMonkey -- I'll check that in too.
    
    Change-Id: I1091bf75115cc82102f7ae89cd33a6a092d092e4
    Reviewed-on: http://review.couchbase.org/9527
    Tested-by: Aaron Miller <apage43@ninjawhale.com>
    Reviewed-by: Aaron Miller <apage43@ninjawhale.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Sep 12, 2011
  2. Re-enable jump table in beam_emu.c, for highest performance.

    This should fix recent performance regressions. However, it means that
    optimized builds with LLVM-based compilers will crash at launch.
    If building without standard GCC, make sure you either disable all
    optimization, or re-enable NO_JUMP_TABLE; but this should be done only
    in development builds.
    
    Change-Id: I29b0bc9452c8e00efd1c26de33354b227f03d17e
    Reviewed-on: http://review.couchbase.org/9507
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Sep 10, 2011
  3. Allow more control over restart logic

    Change-Id: I9a430f250e221604b2200657ac7ab9bc518a7daa
    Reviewed-on: http://review.couchbase.org/9486
    Reviewed-by: Jens Alfke <jens@couchbase.com>
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Aaron Miller <apage43@ninjawhale.com>
    apage43 committed Sep 9, 2011
Commits on Sep 10, 2011
  1. Fix deadlock issue in emonk

    Suspend request on calling context while
    using sandbox context.
    
    Change-Id: Ie5fdaec56193239b56c1ddb1f5af23a5f0a60ccd
    Reviewed-on: http://review.couchbase.org/9501
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Reviewed-by: Jens Alfke <jens@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    apage43 committed with snej Sep 10, 2011
Commits on Aug 29, 2011
  1. Fix conversion of bignums to JavaScript

    Large integers in documents would fail conversion to JS objects, causing the document not to be indexed in the view. (CBMI-34)
    
    Change-Id: I6840af45b907f4d6f3ef33bc67ade3d6c820438d
    Reviewed-on: http://review.couchbase.org/9231
    Tested-by: Aaron Miller <apage43@ninjawhale.com>
    Reviewed-by: Aaron Miller <apage43@ninjawhale.com>
    snej committed with apage43 Aug 25, 2011
Commits on Aug 26, 2011
  1. Make DSTROOT per-platform, to make installs work

    Change-Id: I0d6c21528d372435851e0826b1c7f402848c7777
    Reviewed-on: http://review.couchbase.org/9248
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    snej committed Aug 26, 2011
Commits on Aug 24, 2011
  1. Fix leaks in couch_icu_driver and make it faster

    Previous code was leaking NSData and NSString objects, and copying the string contents unnecessarily.
    
    Change-Id: If63bbedd7997beea57a9a6b758deab241effdd7b
    Reviewed-on: http://review.couchbase.org/9172
    Tested-by: Aaron Miller <apage43@ninjawhale.com>
    Reviewed-by: Aaron Miller <apage43@ninjawhale.com>
    snej committed with apage43 Aug 22, 2011
  2. Update compiler settings, fix couch_icu_driver.m

    Set the deployment target to iOS 4.0.
    Set optimization to -O3.
    Remove unnecessary ICU headers.
    
    Did NOT switch compiler from GCC to to LLVM-GCC yet -- we want the official builds to still use GCC for the time being because of the performance boost. This means anyone who has Xcode 4.2b6+ installed will first have to switch the compiler to LLVM-GCC in the iErl14 project to be able to build!
    
    Change-Id: I2dfa0306d17600029cfcecf798ada68ceb63782c
    Reviewed-on: http://review.couchbase.org/9171
    Reviewed-by: Aaron Miller <apage43@ninjawhale.com>
    Tested-by: Aaron Miller <apage43@ninjawhale.com>
    snej committed with apage43 Aug 22, 2011
Commits on Aug 12, 2011
  1. Support posting CFNotificationCenter notifications from erlang

    Change-Id: I7c2489e22b3b017a1d4934ae519f817ed2b2a434
    Reviewed-on: http://review.couchbase.org/8921
    Reviewed-by: Jens Alfke <jens@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    apage43 committed with snej Aug 12, 2011
Commits on Aug 11, 2011
  1. Add driver/nif for restart on resume from background support

    Change-Id: I2cf09765d238b241e8f7af339a5cd4c7f08dda89
    Reviewed-on: http://review.couchbase.org/8811
    Reviewed-by: Jens Alfke <jens@couchbase.com>
    Tested-by: Aaron Miller <apage43@ninjawhale.com>
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Tested-by: Chris Anderson <jchris@couchbase.com>
    apage43 committed Aug 10, 2011
Commits on Aug 10, 2011
  1. Set SO_NOSIGPIPE on sockets opened by iErl.

    Change-Id: I9dc7a53e7743d13217e1dc6b77039f4a245f6b35
    Reviewed-on: http://review.couchbase.org/8808
    Reviewed-by: Chris Anderson <jchris@couchbase.com>
    Reviewed-by: Jens Alfke <jens@couchbase.com>
    Tested-by: Jens Alfke <jens@couchbase.com>
    apage43 committed with snej Aug 9, 2011
Commits on Aug 1, 2011
  1. Don't crash if trying to load an unrecognized DLL

    Fixed a bug in erts_sys_ddll_open2 where it didn't initialize the error message string when returning failure, causing the caller to then dereference a garbage string pointer.
    snej committed Aug 1, 2011
  2. Merge branch 'master' of github.com:couchbaselabs/iErl14

    Conflicts:
    	iErl14.xcodeproj/project.pbxproj
    snej committed Aug 1, 2011
  3. * Turn on -Os optimization in both Debug and Release.

    * Use GCC 4.2, not LLVM-GCC, otherwise the Erlang crashes on launch (code-gen issue?)
    snej committed Aug 1, 2011
Commits on Jul 27, 2011
Commits on Jul 26, 2011
Commits on Jul 6, 2011
  1. Merge iphoneos and simulator targets

    There's now only one target, and it builds a fat library.
    snej committed Jul 6, 2011
Commits on May 21, 2011
  1. remove gc logging

    jchris committed May 21, 2011
Commits on Apr 25, 2011
  1. Merged pull request #1 from arciem/master.

    Separate targets for device and simulator
    Chris Anderson committed Apr 25, 2011
Commits on Apr 14, 2011