From cd4ee07fe75a48ab1087918f031ee58f8141826d Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Mon, 13 Jun 2011 07:34:31 +0000 Subject: [PATCH] release x11 connection for nvidia when quitting psensor --- src/lib/nvidia.c | 13 +++++++++++++ src/lib/nvidia.h | 2 ++ src/main.c | 4 ++++ 3 files changed, 19 insertions(+) diff --git a/src/lib/nvidia.c b/src/lib/nvidia.c index a8060c3..54ad724 100644 --- a/src/lib/nvidia.c +++ b/src/lib/nvidia.c @@ -75,6 +75,13 @@ static struct psensor *create_sensor(int id, int values_len) return s; } +static void close_display() +{ + XCloseDisplay(display); + display = NULL; + +} + /* Opens connection to X server and returns the number of NVidia GPUs. @@ -139,3 +146,9 @@ nvidia_psensor_list_add(struct psensor **sensors, int values_len) return ss; } + +void nvidia_cleanup() +{ + if (display) + close_display(); +} diff --git a/src/lib/nvidia.h b/src/lib/nvidia.h index 1aafe69..d046928 100644 --- a/src/lib/nvidia.h +++ b/src/lib/nvidia.h @@ -37,4 +37,6 @@ struct psensor **nvidia_psensor_list_add(struct psensor **sensors, int values_max_length); +void nvidia_cleanup(); + #endif diff --git a/src/main.c b/src/main.c index 933784a..b9c8473 100644 --- a/src/main.c +++ b/src/main.c @@ -408,5 +408,9 @@ int main(int argc, char **argv) psensor_list_free(ui.sensors); +#ifdef HAVE_NVIDIA + nvidia_cleanup(); +#endif + return 0; } -- 2.7.4