summaryrefslogtreecommitdiff
path: root/spectro/inst.c
diff options
context:
space:
mode:
Diffstat (limited to 'spectro/inst.c')
-rw-r--r--spectro/inst.c18
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;
}