--- - branch: MAIN date: Wed Sep 6 11:08:54 UTC 2017 files: - new: '1.140' old: '1.139' path: src/sys/dev/sysmon/sysmon_envsys.c pathrev: src/sys/dev/sysmon/sysmon_envsys.c@1.140 type: modified - new: '1.120' old: '1.119' path: src/sys/dev/sysmon/sysmon_envsys_events.c pathrev: src/sys/dev/sysmon/sysmon_envsys_events.c@1.120 type: modified id: 20170906T110854Z.2981d38219c910e3412fc42ae8ba8741d8f3aaa1 log: |2 Fixes a problem that some driver(e.g. acpitz(4) or coretemp(5)) which use sysmon_envsys sleep waiting at "rndsrc" when "drvctl -d". Don't call rnd_detach_source() in sme_remove_event() which is called from sme_event_unregister_all(). Instead, call rnd_detach_source() in sysmon_envsys_sensor_detach() and call sysmon_envsys_sensor_detach() before sme_event_unregister_sensor(). Each sensor(envsys_data) has each rnd_src, but some sme_events point to the same rnd_src in a sensor. Calling rnd_detach_souce() twice with the same rnd_src brokes a reference count in rnd_src. OK'd by pgoyette@. module: src subject: 'CVS commit: src/sys/dev/sysmon' unixtime: '1504696134' user: msaitoh