digitalPin: do not export if the /sys/class/gpio/... file already exists

This commit is contained in:
Tero Marttila 2016-06-23 00:51:19 +03:00
parent bfcd1345fe
commit e36e169d6c
1 changed files with 14 additions and 0 deletions

View File

@ -62,7 +62,21 @@ func (p *digitalPin) init() error {
return nil
}
func (p *digitalPin) isExported() bool {
if _, err := os.Stat(p.basePath()); err == nil {
return true
} else if os.IsNotExist(err) {
return false
} else {
// unknown
return false
}
}
func (p *digitalPin) export() error {
if p.isExported() {
return nil
}
exporter, err := os.OpenFile("/sys/class/gpio/export", os.O_WRONLY, os.ModeExclusive)
if err != nil {
return err