ccan
10 years agoDon't overwrite tdbs with different version numbers.
Rusty Russell [Wed, 5 Aug 2009 01:36:58 +0000 (11:06 +0930)]
Don't overwrite tdbs with different version numbers.
In future, this may happen, and we don't want to clobber them.

10 years agoMake TDB 32 bit clean (not just 31 bit) for systems with 64 bit file offsets.
Rusty Russell [Tue, 4 Aug 2009 06:14:16 +0000 (15:44 +0930)]
Make TDB 32 bit clean (not just 31 bit) for systems with 64 bit file offsets.

10 years agoNew test for endianness.
Rusty Russell [Tue, 4 Aug 2009 04:05:47 +0000 (13:35 +0930)]
New test for endianness.

10 years agoWean off TDB_ERRCODE.
Rusty Russell [Tue, 4 Aug 2009 03:52:28 +0000 (13:22 +0930)]
Wean off TDB_ERRCODE.
It was a regrettable hack to reduce line count in tdb; in fact it caused confusion as can be seen in this patch.
In particular, ecode now needs to be set before TDB_LOG.
Also, we should never set errno, as io.c was doing.

10 years agostringmap: fail path can print uninitialized var in test.
Rusty Russell [Tue, 4 Aug 2009 02:28:22 +0000 (11:58 +0930)]
stringmap: fail path can print uninitialized var in test.

10 years agoImport from SAMBA tdb:
Rusty Russell [Wed, 29 Jul 2009 23:20:38 +0000 (08:50 +0930)]
Import from SAMBA tdb:
commit a6cc04a20089e8fbcce138c271961c37ddcd6c34
Author: Andrew Tridgell <tridge@samba.org>
Date:   Mon Jun 1 13:13:07 2009 +1000

    overallocate all records by 25%

    This greatly reduces the fragmentation of databases where records
    tend to grow slowly by a small amount each time. The case where this
    is most seen is the ldb index records. Adding this overallocation
    reduced the size of the resulting database by more than 20x when
    running a test that adds 10k users.

10 years agoImport from SAMBA tdb:
Rusty Russell [Wed, 29 Jul 2009 23:18:53 +0000 (08:48 +0930)]
Import from SAMBA tdb:
commit a386173fa1c7c5bcc11ea9260d84b6c52c154b3d
Author: Andrew Tridgell <tridge@samba.org>
Date:   Mon Jun 1 13:11:39 2009 +1000

    auto-repack in transactions that expand the tdb

    The idea behind this is to recover from badly fragmented free
    lists. Choosing the point where the file expands is fairly arbitrary,
    but seems to work well.

10 years agoImport from SAMBA tdb:
Rusty Russell [Wed, 29 Jul 2009 23:17:27 +0000 (08:47 +0930)]
Import from SAMBA tdb:
commit 936d76802f98d04d9743b2ca8eeeaadd4362db51
Author: Andrew Tridgell <tridge@samba.org>
Date:   Tue Dec 16 14:38:17 2008 +1100

    imported the tdb_repack() code from CTDB

    The tdb_repack() function repacks a TDB so that it has a single
    freelist entry. The file doesn't shrink, but it does remove all
    freelist fragmentation. This code originated in the CTDB vacuuming
    code, but will now be used in ldb to cope with fragmentation from
    re-indexing

10 years agoFix up non-TDB_TRACE compile.
Rusty Russell [Wed, 29 Jul 2009 23:05:31 +0000 (08:35 +0930)]
Fix up non-TDB_TRACE compile.

10 years agoTurn off TDB_TRACE again (shouldn't have left it on in commit)
Rusty Russell [Wed, 29 Jul 2009 23:03:00 +0000 (08:33 +0930)]
Turn off TDB_TRACE again (shouldn't have left it on in commit)

10 years agoRemove const warning
Rusty Russell [Wed, 29 Jul 2009 22:54:12 +0000 (08:24 +0930)]
Remove const warning

10 years agoDon't fail mysteriously on existing trace file.
Rusty Russell [Wed, 29 Jul 2009 22:49:27 +0000 (08:19 +0930)]
Don't fail mysteriously on existing trace file.

10 years agoImport from SAMBA tdb:
Rusty Russell [Wed, 29 Jul 2009 12:52:31 +0000 (22:22 +0930)]
Import from SAMBA tdb:
commit 4b4fec65db4e202afa13b2d15867f4d8a54d154e
Author: Andrew Tridgell <tridge@samba.org>
Date:   Thu May 28 16:08:28 2009 +1000

    make TDB_NOSYNC affect all the fsync/msync calls in transactions

    During a transaction commit tdb normally uses fsync/msync calls to
    make it crash safe. This can be disabled using the TDB_NOSYNC flag,
    but it wasn't disabling all the code paths that caused a fsync/msync.

10 years agoImport from SAMBA's tdb:
Rusty Russell [Wed, 29 Jul 2009 12:51:34 +0000 (22:21 +0930)]
Import from SAMBA's tdb:
commit a91bcbccf8a2243dac57cacec6fdfc9907580f69
Author: Jim McDonough <jmcd@samba.org>
Date:   Thu May 21 16:26:26 2009 -0400

    Detect tight loop in tdb_find()

10 years agoImport from SAMBA's tdb:
Rusty Russell [Wed, 29 Jul 2009 12:36:44 +0000 (22:06 +0930)]
Import from SAMBA's tdb:
commit b90863c0b7b860b006ac49c9396711ff351f777f
Author: Howard Chu <hyc@highlandsun.com>
Date:   Tue Mar 31 13:15:54 2009 +1100

    Add tdb_transaction_prepare_commit()

    Using tdb_transaction_prepare_commit() gives us 2-phase commits. This
    allows us to safely commit across multiple tdb databases at once, with
    reasonable transaction semantics

Signed-off-by: tridge@samba.org
10 years agomerge
Rusty Russell [Sat, 25 Jul 2009 12:32:50 +0000 (22:02 +0930)]
merge

10 years agoNeaten tdb to sync with samba version of locking fix.
Rusty Russell [Tue, 21 Jul 2009 07:24:48 +0000 (16:54 +0930)]
Neaten tdb to sync with samba version of locking fix.
Also, actually test locking, rather than just lock count (bit me in samba fix)

10 years agostringmap: Flipped bit order to match sorted string order and added traversal test
Joey Adams [Tue, 21 Jul 2009 06:32:36 +0000 (02:32 -0400)]
stringmap: Flipped bit order to match sorted string order and added traversal test

10 years agoSpeed up tracing by factor of 4-6, by writing less stupid code.
Rusty Russell [Mon, 20 Jul 2009 12:55:46 +0000 (22:25 +0930)]
Speed up tracing by factor of 4-6, by writing less stupid code.

10 years agomerge
Rusty Russell [Sun, 19 Jul 2009 01:44:41 +0000 (11:14 +0930)]
merge

10 years agoShort types
Rusty Russell [Sat, 18 Jul 2009 08:38:05 +0000 (18:08 +0930)]
Short types

10 years agotalloc_link; a replacement for talloc's references.
Rusty Russell [Sat, 18 Jul 2009 08:29:57 +0000 (17:59 +0930)]
talloc_link; a replacement for talloc's references.

10 years ago_info files are no longer to be ignored, since we renamed them from _info.c
Rusty Russell [Sat, 18 Jul 2009 08:28:58 +0000 (17:58 +0930)]
_info files are no longer to be ignored, since we renamed them from _info.c

10 years agoLicense for talloc is actually LGPL.
Rusty Russell [Sat, 18 Jul 2009 08:26:54 +0000 (17:56 +0930)]
License for talloc is actually LGPL.

10 years agotalloc_free() should take a const void *, a-la free().
Rusty Russell [Sat, 18 Jul 2009 08:13:33 +0000 (17:43 +0930)]
talloc_free() should take a const void *, a-la free().

10 years agoImproved stringmap to support strings with null characters
Joey Adams [Sat, 18 Jul 2009 07:52:53 +0000 (03:52 -0400)]
Improved stringmap to support strings with null characters

10 years agoMerge.
Rusty Russell [Sat, 18 Jul 2009 05:57:40 +0000 (15:27 +0930)]
Merge.

10 years agoAutomate rerunning when we have to back off: gives accurate(ish) timings.
Rusty Russell [Sat, 18 Jul 2009 04:45:28 +0000 (14:15 +0930)]
Automate rerunning when we have to back off: gives accurate(ish) timings.

10 years agoCleanup variable names.
Rusty Russell [Fri, 17 Jul 2009 07:29:58 +0000 (16:59 +0930)]
Cleanup variable names.
struct op: serial -> seqnum (and drop use of term "serial" everywhere).
struct op: op -> type
struct op_desc: general replacement for file/op_num pair.
Change add_dependency to take two const op_desc *: means reshuffle since we can't adjust the args any more.

10 years agoAdd handling of reduced test cases (traverse lines trimmed), and add all the test...
Rusty Russell [Fri, 17 Jul 2009 05:21:55 +0000 (14:51 +0930)]
Add handling of reduced test cases (traverse lines trimmed), and add all the test cases I've been using.

10 years agoCompletely unhobble tdbtorture.
Rusty Russell [Fri, 17 Jul 2009 05:21:44 +0000 (14:51 +0930)]
Completely unhobble tdbtorture.

10 years agoOops, forgot to check in new keywords files :(
Rusty Russell [Fri, 17 Jul 2009 04:49:03 +0000 (14:19 +0930)]
Oops, forgot to check in new keywords files :(

10 years agoYA corner case: help assumption by putting cancelled transactions first.
Rusty Russell [Fri, 17 Jul 2009 04:38:12 +0000 (14:08 +0930)]
YA corner case: help assumption by putting cancelled transactions first.

10 years agoLeave groups of chainlock inside traverse.
Rusty Russell [Fri, 17 Jul 2009 03:43:58 +0000 (13:13 +0930)]
Leave groups of chainlock inside traverse.

10 years agotdb_chainlock/tdb_chainunlock et. al. support.
Rusty Russell [Fri, 17 Jul 2009 03:31:52 +0000 (13:01 +0930)]
tdb_chainlock/tdb_chainunlock et. al. support.

10 years agoRusty's cleanup to ciniparser.c's strstrip and strlwc
Joey Adams [Thu, 16 Jul 2009 21:32:38 +0000 (17:32 -0400)]
Rusty's cleanup to ciniparser.c's strstrip and strlwc

10 years agoHandle global_lock properly in tdb_transaction_lock/unlock.
Rusty Russell [Thu, 16 Jul 2009 08:37:14 +0000 (18:07 +0930)]
Handle global_lock properly in tdb_transaction_lock/unlock.

10 years agoFix tracing for tdb_chainunlock.
Rusty Russell [Thu, 16 Jul 2009 08:36:10 +0000 (18:06 +0930)]
Fix tracing for tdb_chainunlock.

10 years agoMinor optimization: don't make a dependency between two traverse_reads.
Rusty Russell [Thu, 16 Jul 2009 07:19:23 +0000 (16:49 +0930)]
Minor optimization: don't make a dependency between two traverse_reads.

10 years agoCleanup: rename is_* to starts_*, move functions together, factor out start finding...
Rusty Russell [Thu, 16 Jul 2009 06:10:43 +0000 (15:40 +0930)]
Cleanup: rename is_* to starts_*, move functions together, factor out start finding code.

10 years agoClean up traverse keyword handling.
Rusty Russell [Thu, 16 Jul 2009 04:19:25 +0000 (13:49 +0930)]
Clean up traverse keyword handling.

10 years agoPartial ordering of traverses: reduces number of deadlocks by factor of 10.
Rusty Russell [Thu, 16 Jul 2009 03:26:07 +0000 (12:56 +0930)]
Partial ordering of traverses: reduces number of deadlocks by factor of 10.

10 years agoFix logic bug; we weren't checking last requirement in sort_deps.
Rusty Russell [Thu, 16 Jul 2009 01:59:16 +0000 (11:29 +0930)]
Fix logic bug; we weren't checking last requirement in sort_deps.

10 years agoImplement timeout for the deadlock of traverse & transactions.
Rusty Russell [Thu, 16 Jul 2009 01:58:33 +0000 (11:28 +0930)]
Implement timeout for the deadlock of traverse & transactions.
This has proven to be intractible: various attempts to eliminate have failed, so detect at runtime and cease the traversal (and do the remaining ops outside a traverse).

10 years agoOpen database with TDB_NOSYNC to speed it up a little.
Rusty Russell [Thu, 16 Jul 2009 01:03:52 +0000 (10:33 +0930)]
Open database with TDB_NOSYNC to speed it up a little.

10 years agoAdded run-dictionary.c test to ciniparser
Joey Adams [Wed, 15 Jul 2009 21:48:32 +0000 (17:48 -0400)]
Added run-dictionary.c test to ciniparser

10 years agoTiny fix to stringmap's run.c
Joey Adams [Wed, 15 Jul 2009 21:29:38 +0000 (17:29 -0400)]
Tiny fix to stringmap's run.c

10 years agoFix sequence logic bug, and satisfies() logic fix/cleanup.
Rusty Russell [Wed, 15 Jul 2009 13:43:55 +0000 (23:13 +0930)]
Fix sequence logic bug, and satisfies() logic fix/cleanup.

10 years agoHandle transactions!
Rusty Russell [Wed, 15 Jul 2009 05:27:49 +0000 (14:57 +0930)]
Handle transactions!
Note: we can still deadlock on traversal vs transaction corner cases.
We handle transactions as single operation, which it logically is.

10 years agoAdded module stringmap
Joey Adams [Wed, 15 Jul 2009 05:19:52 +0000 (01:19 -0400)]
Added module stringmap

10 years agoFix sequence numbers when tracing transaction.
Rusty Russell [Wed, 15 Jul 2009 05:16:30 +0000 (14:46 +0930)]
Fix sequence numbers when tracing transaction.
If we do the trace inside the lock, we show the actual sequence number when the transaction started.

10 years agoInsert (implied) transaction cancel on tdb_close/EOF.
Rusty Russell [Wed, 15 Jul 2009 03:49:35 +0000 (13:19 +0930)]
Insert (implied) transaction cancel on tdb_close/EOF.
Also changes first member of transaction to have valid start_group field,
and fix outdated comment.

10 years agoPrint seq numbers on timeout dump
Rusty Russell [Wed, 15 Jul 2009 01:37:32 +0000 (11:07 +0930)]
Print seq numbers on timeout dump
(Invasive: means passing full op array all the way through).

10 years agoAdded module block_pool
Joey Adams [Wed, 15 Jul 2009 01:36:37 +0000 (21:36 -0400)]
Added module block_pool

10 years agoFix early transaction unlock when traverse done inside transaction.
Rusty Russell [Tue, 14 Jul 2009 12:34:36 +0000 (22:04 +0930)]
Fix early transaction unlock when traverse done inside transaction.
Generalizes traverse in traverse fix from rusty@rustcorp.com.au-20090629073630-3eduhyypx2tp6u80

10 years agoFix null ptr deref on TDB_TRACE with internal db.
Rusty Russell [Tue, 14 Jul 2009 12:15:52 +0000 (21:45 +0930)]
Fix null ptr deref on TDB_TRACE with internal db.

10 years agoRemove trivial traverse code, simplify.
Rusty Russell [Tue, 14 Jul 2009 09:33:43 +0000 (19:03 +0930)]
Remove trivial traverse code, simplify.
We now use the "group_len" field for both transactions and traversals.

10 years agoFix logic bug in optimizer, and fix up DEBUG_DEPS compile.
Rusty Russell [Tue, 14 Jul 2009 05:51:23 +0000 (15:21 +0930)]
Fix logic bug in optimizer, and fix up DEBUG_DEPS compile.

10 years agoMore dependency optimization: seems to happen with transactions enabled.
Rusty Russell [Tue, 14 Jul 2009 02:20:26 +0000 (11:50 +0930)]
More dependency optimization: seems to happen with transactions enabled.

10 years agoMore general solution for serial number misorders.
Rusty Russell [Mon, 13 Jul 2009 06:19:52 +0000 (15:49 +0930)]
More general solution for serial number misorders.
Make sort_deps more efficient, and also only alter order when necessary.  This means by default we run in serial number order, only going outside when we detect a dependency.
Maintain trace file order in original sort, so sort_deps doesn't mess it up.

We still need serial numbers: sort_deps can have multiple solutions for a single key, but these may deadlock with the ordering requirements of other keys.  By sticking close to the actual order (ie. serial order), we minimize the chance of this happening.

10 years agoOptimize to reduce extraneous dependencies.
Rusty Russell [Mon, 13 Jul 2009 02:14:40 +0000 (11:44 +0930)]
Optimize to reduce extraneous dependencies.
In my tdbtorture -n 4 example trace, this reduces from 14493 to 3210 dependencies, but doesn't make any measurable improvement in the time.  Still, it's simple to do and might make a difference for larger sets.

10 years agoBelated checkin of keywords.
Rusty Russell [Mon, 13 Jul 2009 02:06:50 +0000 (11:36 +0930)]
Belated checkin of keywords.

10 years agoSimplify dependencies by passing pointers over the pipe: avoid O(n^2) behaviour for...
Rusty Russell [Mon, 13 Jul 2009 01:48:05 +0000 (11:18 +0930)]
Simplify dependencies by passing pointers over the pipe: avoid O(n^2) behaviour for searching.
Also, using a single structure makes talloc_free convenient for when we do optimization.

10 years agoSlightly more sophisticated dependency generation: fixes traverse interaction.
Rusty Russell [Mon, 13 Jul 2009 01:25:39 +0000 (10:55 +0930)]
Slightly more sophisticated dependency generation: fixes traverse interaction.

10 years agoMissed part of patch.
Rusty Russell [Sun, 12 Jul 2009 12:51:52 +0000 (22:21 +0930)]
Missed part of patch.

10 years agoGet more sophisticated with resolving duplicate serial numbers.
Rusty Russell [Sun, 12 Jul 2009 12:48:09 +0000 (22:18 +0930)]
Get more sophisticated with resolving duplicate serial numbers.
Still deadlocks in one case, due to spurious dependencies inside traversals.  See next commit.

10 years agoMake tokenizer throw error on empty char literal, along with some slight cleanups...
Joey Adams [Sun, 12 Jul 2009 03:10:39 +0000 (23:10 -0400)]
Make tokenizer throw error on empty char literal, along with some slight cleanups in ccan_tokenizer.h

10 years agoMake ccanlint core objects depend on generated-init-tests to fix build error
Joey Adams [Thu, 9 Jul 2009 07:53:20 +0000 (03:53 -0400)]
Make ccanlint core objects depend on generated-init-tests to fix build error

10 years agoSmall fix to read_cstring for reading \? .
Joey Adams [Thu, 9 Jul 2009 07:19:13 +0000 (03:19 -0400)]
Small fix to read_cstring for reading \? .

10 years agoTraverses seem to work now. Also, much better reporting of deadlocks.
Rusty Russell [Wed, 8 Jul 2009 05:47:53 +0000 (15:17 +0930)]
Traverses seem to work now.  Also, much better reporting of deadlocks.

10 years agoFirst attempt at transactions & traverse (deadlocks still).
Rusty Russell [Wed, 8 Jul 2009 00:55:27 +0000 (10:25 +0930)]
First attempt at transactions & traverse (deadlocks still).

10 years agoFix uninitialized var.
Rusty Russell [Tue, 7 Jul 2009 22:19:58 +0000 (07:49 +0930)]
Fix uninitialized var.

10 years ago... and fix up keyword list.
Rusty Russell [Tue, 7 Jul 2009 13:03:44 +0000 (22:33 +0930)]
... and fix up keyword list.

10 years agoFix last minute warning "fix" in replay_trace.c, remove seqnum inc tracing.
Rusty Russell [Tue, 7 Jul 2009 13:02:24 +0000 (22:32 +0930)]
Fix last minute warning "fix" in replay_trace.c, remove seqnum inc tracing.

10 years agoBetter tdb tracing, start of decent replay_trace.
Rusty Russell [Tue, 7 Jul 2009 11:04:44 +0000 (20:34 +0930)]
Better tdb tracing, start of decent replay_trace.

10 years agoconst addition changes from brian, awfulhak.org
Rusty Russell [Tue, 7 Jul 2009 03:45:49 +0000 (13:15 +0930)]
const addition changes from brian, awfulhak.org

10 years agoAdded module ccan_tokenizer from snapshot at:
Joey Adams [Fri, 3 Jul 2009 05:46:46 +0000 (01:46 -0400)]
Added module ccan_tokenizer from snapshot at:
http://www.funsitelots.com/ccan/ccan_tokenizer-20090703.tar.bz2

10 years agoMore junkcode!
Rusty Russell [Thu, 2 Jul 2009 03:32:39 +0000 (13:02 +0930)]
More junkcode!

10 years agoNew junkcode.
Rusty Russell [Thu, 2 Jul 2009 03:26:25 +0000 (12:56 +0930)]
New junkcode.

10 years agoTorture harder: random ops inside traverses.
Rusty Russell [Mon, 29 Jun 2009 11:40:35 +0000 (21:10 +0930)]
Torture harder: random ops inside traverses.

10 years agoDon't make assumptions about traverse order, and prove it by using a different hash.
Rusty Russell [Mon, 29 Jun 2009 09:23:23 +0000 (18:53 +0930)]
Don't make assumptions about traverse order, and prove it by using a different hash.

10 years agoHandle tracing on internal dbs.
Rusty Russell [Mon, 29 Jun 2009 09:23:04 +0000 (18:53 +0930)]
Handle tracing on internal dbs.

10 years agoFix traverse nesting unlock bug.
Rusty Russell [Mon, 29 Jun 2009 07:36:30 +0000 (17:06 +0930)]
Fix traverse nesting unlock bug.

10 years agozero-append test for tdb.
Rusty Russell [Mon, 29 Jun 2009 02:28:44 +0000 (11:58 +0930)]
zero-append test for tdb.

10 years agoFix append of zero-length records to zero-length records.
Rusty Russell [Mon, 29 Jun 2009 02:17:52 +0000 (11:47 +0930)]
Fix append of zero-length records to zero-length records.
realloc() has that horrible overloaded free semantics.

10 years agoFix theoretical problem with 0-length records.
Rusty Russell [Mon, 29 Jun 2009 02:17:20 +0000 (11:47 +0930)]
Fix theoretical problem with 0-length records.
By faking them out to length 1, we might go oob.  Just fake the malloc.

10 years agoFirst cut of replay_trace for tdb.
Rusty Russell [Sun, 28 Jun 2009 01:21:57 +0000 (10:51 +0930)]
First cut of replay_trace for tdb.

10 years agoTracing for tdb operations.
Rusty Russell [Tue, 23 Jun 2009 13:21:49 +0000 (22:51 +0930)]
Tracing for tdb operations.

10 years agoccanize tdb further, and add simple test.
Rusty Russell [Mon, 22 Jun 2009 11:17:39 +0000 (20:47 +0930)]
ccanize tdb further, and add simple test.

10 years agoFirst step to ccanizing TDB.
Rusty Russell [Thu, 18 Jun 2009 09:08:03 +0000 (18:38 +0930)]
First step to ccanizing TDB.

10 years agoInitial TDB import.
Rusty Russell [Tue, 16 Jun 2009 06:14:44 +0000 (15:44 +0930)]
Initial TDB import.

10 years agoConvert to 64 bit crcs: change semantics of crcbits field to be *upper* not *lower...
Rusty Russell [Sun, 7 Jun 2009 03:10:47 +0000 (12:40 +0930)]
Convert to 64 bit crcs: change semantics of crcbits field to be *upper* not *lower* bits.

10 years agoImplement a (poor?) 64-bit CRC.
Rusty Russell [Sun, 7 Jun 2009 03:03:19 +0000 (12:33 +0930)]
Implement a (poor?) 64-bit CRC.

10 years ago64-bit CRC code.
Rusty Russell [Sun, 7 Jun 2009 02:18:37 +0000 (11:48 +0930)]
64-bit CRC code.

10 years agoFix ubuntu "ignoring return value" warnings.
Rusty Russell [Fri, 5 Jun 2009 07:36:24 +0000 (17:06 +0930)]
Fix ubuntu "ignoring return value" warnings.

10 years agoImplementation of auto-depends, based on Idris's start.
Rusty Russell [Fri, 5 Jun 2009 07:32:24 +0000 (17:02 +0930)]
Implementation of auto-depends, based on Idris's start.

10 years agoMany list funcs should work with constant lists.
Rusty Russell [Fri, 5 Jun 2009 07:24:04 +0000 (16:54 +0930)]
Many list funcs should work with constant lists.

10 years agomerge
Rusty Russell [Sun, 31 May 2009 03:08:03 +0000 (12:38 +0930)]
merge

10 years agoNew junkcode.
Rusty Russell [Sun, 31 May 2009 03:00:07 +0000 (12:30 +0930)]
New junkcode.

10 years agoUpdated array module to version 0.1.1 .
Joey Adams [Fri, 29 May 2009 05:35:07 +0000 (01:35 -0400)]
Updated array module to version 0.1.1 .
Important change:  array_pop no longer checks if the array has elements; use array_pop_check in its place.