The language is Crystal which is still a very young language. It does not
have threading at this time so there should be no issues with mutexes.
While writing the code I never opened up a database but did repeatedly open
up the environment and if the app ran into an error while coding didn't
properly close the environment.

Howard while I have you on the line....

The documentation says to be very careful about closing databases and says
it's not normally necessary. I am going to omit those calls from my
wrapper. Is this OK?  I will probably omit a bunch of other calls too at
least from the first release but I want to make sure I don't omit anything
crucial.

Thanks.

On Tue, Nov 22, 2016 at 7:42 AM, Howard Chu <[email protected]> wrote:

> Tim Uckun wrote:
>
>> Hi All.
>>
>> I am writing a wrapper for Lmdb for the Crystal language.  During the
>> process
>> of writing my code started hanging when attempting to open a
>> transaction.  At
>> first I thought I was calling the C functions wrong but it turned out to
>> be
>> some sort of a corruption in the database itself. I deleted the database
>> directory and the code started working fine again.
>>
>
> Sounds like you're not using robust mutexes. Just a guess, since you
> didn't provide any info about your OS / platform or LMDB version.
>
> --
>   -- Howard Chu
>   CTO, Symas Corp.           http://www.symas.com
>   Director, Highland Sun     http://highlandsun.com/hyc/
>   Chief Architect, OpenLDAP  http://www.openldap.org/project/
>

Reply via email to