diff options
Diffstat (limited to 'spectro/inst.c')
-rw-r--r-- | spectro/inst.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/spectro/inst.c b/spectro/inst.c index 949e34f..8976669 100644 --- a/spectro/inst.c +++ b/spectro/inst.c @@ -581,6 +581,18 @@ static inst_config config_enum(inst *p, int ec) { } /* ---------------------------------------------- */ + +/* Delete things set/done by new_inst() */ +static inst_code virtual_del(inst *p) { + +#if defined(__APPLE__) + osx_latencycritical_end(); +#endif + + return inst_ok; +} + + /* Virtual constructor. */ /* Return NULL for unknown instrument, */ /* or serial instrument if nocoms == 0. */ @@ -702,6 +714,8 @@ void *cntx /* Context for callback */ return NULL; } + p->vdel = virtual_del; + /* Add default methods if constructor did not supply them */ if (p->init_coms == NULL) p->init_coms = init_coms; @@ -785,6 +799,10 @@ void *cntx /* Context for callback */ /* Set the provided user interaction callback */ p->set_uicallback(p, uicallback, cntx); +#if defined(__APPLE__) + osx_latencycritical_start(); +#endif + return p; } |