[lm-sensors] [PATCH 1/4] libsensors4: No longer allow reloading with sensors_init()
Hans de Goede
j.w.r.degoede at hhs.nl
Wed Aug 22 13:22:57 CEST 2007
Jean Delvare wrote:
> Drop support for reloading the configuration with sensors_init().
> Instead, the application will have to call sensors_exit() explicitly
> before calling sensors_init() again. Most applications don't offer
> any way to reload the configuration file, so better optimize for the
> initial load.
>
Looks good to me. This reminds me I still need to test current svn, but I'm
awefully busy atm (back at work from vacation), I'll give svn a spin when I
find the time.
Regards,
Hans
> ---
> lib/init.c | 2 +-
> lib/libsensors.3 | 5 ++++-
> lib/sensors.h | 8 +++++---
> prog/sensord/lib.c | 4 +++-
> 4 files changed, 13 insertions(+), 6 deletions(-)
>
> --- lm-sensors-3.orig/lib/init.c 2007-08-21 20:08:05.000000000 +0200
> +++ lm-sensors-3/lib/init.c 2007-08-21 20:08:27.000000000 +0200
> @@ -40,7 +40,7 @@ static void free_expr(sensors_expr *expr
> int sensors_init(FILE *input)
> {
> int res;
> - sensors_cleanup();
> +
> if (!sensors_init_sysfs())
> return -SENSORS_ERR_PROC;
> if ((res = sensors_read_sysfs_bus()) || (res = sensors_read_sysfs_chips()))
> --- lm-sensors-3.orig/lib/libsensors.3 2007-08-21 20:08:05.000000000 +0200
> +++ lm-sensors-3/lib/libsensors.3 2007-08-21 21:24:11.000000000 +0200
> @@ -53,7 +53,10 @@ libsensors \- publicly accessible functi
> .SH DESCRIPTION
> .B int sensors_init(FILE *input);
> .br
> -(Re)load the configuration file and the detected chips list. If this returns a value unequal to zero, you are in trouble; you can not assume anything will be initialized properly.
> +Load the configuration file and the detected chips list. If this returns a
> +value unequal to zero, you are in trouble; you can not assume anything will
> +be initialized properly. If you want to reload the configuration file, call
> +sensors_cleanup() below before calling sensors_init() again.
>
> .B void sensors_cleanup(void);
> .br
> --- lm-sensors-3.orig/lib/sensors.h 2007-08-21 20:08:05.000000000 +0200
> +++ lm-sensors-3/lib/sensors.h 2007-08-21 21:24:11.000000000 +0200
> @@ -56,9 +56,11 @@ typedef struct sensors_chip_name {
> char *path;
> } sensors_chip_name;
>
> -/* (Re)load the configuration file and the detected chips list. If this
> - returns a value unequal to zero, you are in trouble; you can not
> - assume anything will be initialized properly. */
> +/* Load the configuration file and the detected chips list. If this
> + returns a value unequal to zero, you are in trouble; you can not
> + assume anything will be initialized properly. If you want to
> + reload the configuration file, call sensors_cleanup() below before
> + calling sensors_init() again. */
> int sensors_init(FILE *input);
>
> /* Clean-up function: You can't access anything after
> --- lm-sensors-3.orig/prog/sensord/lib.c 2007-04-02 13:20:58.000000000 +0200
> +++ lm-sensors-3/prog/sensord/lib.c 2007-08-21 20:29:01.000000000 +0200
> @@ -90,8 +90,10 @@ loadConfig
> sensorLog (LOG_ERR, "Error stating sensors configuration file: %s", cfgPath);
> ret = 10;
> } else if (!reload || (difftime (stats.st_mtime, cfgLastModified) > 0.0)) {
> - if (reload)
> + if (reload) {
> sensorLog (LOG_INFO, "configuration reloading");
> + sensors_cleanup ();
> + }
> if (!(cfg = fopen (cfgPath, "r"))) {
> sensorLog (LOG_ERR, "Error opening sensors configuration file: %s", cfgPath);
> ret = 11;
>
More information about the lm-sensors
mailing list