From 2d2a8ce82bc9181a07b2647faae3a415fa741d0d Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 12 Mar 2008 21:36:42 +0000 Subject: added free function to free the io_service svn path=/trunk/externals/apple/; revision=9578 --- ambient_light_sensor-help.pd | 4 ++-- ambient_light_sensor.c | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ambient_light_sensor-help.pd b/ambient_light_sensor-help.pd index 052fef8..068e740 100644 --- a/ambient_light_sensor-help.pd +++ b/ambient_light_sensor-help.pd @@ -1,4 +1,4 @@ -#N canvas 126 300 567 453 10; +#N canvas 126 300 571 457 10; #X obj 4 398 cnv 15 550 20 empty \$0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; #X obj 4 -17 cnv 15 550 40 empty \$0-pddp.cnv.header ambient_light_sensor @@ -59,7 +59,7 @@ #X text 216 73 output info on right outlet; #X obj 263 129 route sensor; #X obj 73 73 metro 250; -#X obj 73 54 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1 +#X obj 73 54 tgl 15 0 empty empty empty 0 -6 0 10 -204786 -1 -1 1 1 ; #X text 183 46 output sensor values; #X text 102 227 "info" - outputs info about the sensor on the right diff --git a/ambient_light_sensor.c b/ambient_light_sensor.c index 9e3f93c..139f359 100644 --- a/ambient_light_sensor.c +++ b/ambient_light_sensor.c @@ -104,6 +104,12 @@ static void ambient_light_sensor_info(t_ambient_light_sensor* x) } +static void ambient_light_sensor_free(t_ambient_light_sensor* x) +{ + IOServiceClose(x->io_connect); +} + + static void *ambient_light_sensor_new(void) { DEBUG(post("ambient_light_sensor_new");); @@ -131,7 +137,6 @@ static void *ambient_light_sensor_new(void) pd_error(x,"[ambient_light_sensor]: no sensor found"); } kernResult = IOServiceOpen(x->io_service, mach_task_self(), 0, &x->io_connect); - IOObjectRelease(x->io_service); if (kernResult != KERN_SUCCESS) { @@ -148,7 +153,7 @@ void ambient_light_sensor_setup(void) { ambient_light_sensor_class = class_new(gensym("ambient_light_sensor"), (t_newmethod)ambient_light_sensor_new, - NULL, + (t_method)ambient_light_sensor_free, sizeof(t_ambient_light_sensor), CLASS_DEFAULT, 0); -- cgit v1.2.1