• Steven Estes's avatar
    [#25] Enable Go main routines using YottaDB Go wrapper to intercept fatal... · ab78909a
    Steven Estes authored
    [#25] Enable Go main routines using YottaDB Go wrapper to intercept fatal YottaDB issues via panic/recover interface
    
    Note this change also has a dependency on YottaDB r1.30 containing [YottaDB/DB/YDB#561].
    
    This change is implemented by a significant change to YottaDB C code and smaller changes to
    this wrapper. This wrapper has the following changes:
    
    1.  Instituted an atomic check of wrapper file variable (ydbInitialized) to see if YottaDB
        engine initialization is necessary and to initialize our signal monitoring goroutines.
    2.  If false, a call is made to ydb_main_lang_init() (see main commit message for issue
        YDB#561) which records both the language being initialized for (in this case Go) and an
        entry point to call to "panic" or equivalent. Note we must call ydb_main_lang_init()
        pre-emptively to initialize the Go wrapper instead of letting initialization default
        to running just ydb_init(). This call is what informs the runtime that we will be using
        alternate signal handling.
    3. ...
    ab78909a
key_t.go 22.6 KB