Date: Fri, 10 Apr 2009 09:55:56 -0700 From: Nate Lawson <nate@root.org> To: Andriy Gapon <avg@icyb.net.ua> Cc: sclark46@earthlink.net, freebsd-acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: 6.x acpi powerbutton Message-ID: <49DF7A1C.90009@root.org> In-Reply-To: <49DEFF53.1040306@icyb.net.ua> References: <49DE1F8B.2080400@earthlink.net> <49DE2E6D.5050001@icyb.net.ua> <49DE596E.2050406@earthlink.net> <49DEFF53.1040306@icyb.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
Andriy Gapon wrote: > on 09/04/2009 23:24 Stephen Clark said the following: >> Is there a reason it doesn't send and event like Linux that can be acted >> upon by user space other >> than signaling init? I like to have a message written in >> /var/log/messages that someone pressed >> the powerbutton. > > I think that for all suspend states except S5 userland is notified via > devd mechanism and potentially can veto the suspend. S5 (soft-off) is > coded to start shutdown immediately. You can try to hack on > acpi_ReqSleepState in sys/dev/acpica/acpi.c. > > I am not sure what is the reason for this special behavior of S5. But I > like it, because it sometimes allows me to perform semi-clean shutdown > when X goes crazy. But I also see when it could be useful to have S5 > request go through userland. So this could be configurable. The reason for userland getting into the loop in the first place was to run programs to shut down devices and reinit them after resume. This isn't necessary in the shutdown case because init already sends a signal, as you mention. There's already a mechanism for timing out if userland is not responding, so a suspend will ultimately happen whether or not it answers. However, that waits for a while (1 minute?) and devd used to be optional, so I thought it best to keep the existing S5 behavior (immediate shutdown). It may be ok to enable this for S5 but I don't think it's very useful. -- Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49DF7A1C.90009>