Re: which signal is sent to freeze process?

From: Rafael J. Wysocki
Date: Fri Jul 20 2007 - 07:16:20 EST


On Friday, 20 July 2007 01:22, Agarwal, Lomesh wrote:
> I am using Linux in an embedded platform with x86. Applications don't do
> anything special. The system call which is returning EINTR is poll. Also
> in one of the thread read is returning ENODATA after resume. If I just
> try the system calls again in case of EINTR or ENODATA everything works
> fine.
> From your mail it looks like freezer is not supposed to be interrupting
> system calls. Is that true?

Yes, it is, or at least it should be.

The signal handling is invoked when the process is exiting the kernel space
and it shouldn't affect the execution or results of system calls.

Greetings,
Rafael


> -----Original Message-----
> From: Nigel Cunningham [mailto:nigel@xxxxxxxxxxxxxxxxxx]
> Sent: Thursday, July 19, 2007 3:19 PM
> To: Agarwal, Lomesh
> Cc: nigel@xxxxxxxxxxxx; Rafael Wysocki; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: which signal is sent to freeze process?
>
> Hi.
>
> On Friday 20 July 2007 07:06:01 Agarwal, Lomesh wrote:
> > So basically I can not install a signal handler to catch freeze signal
> > in the process. Right?
> > Is there any other way to solve the problem I am facing? After resume
> > some of the system calls are failing in some of my applications with
> > errno set as EINTR. I wanted to explore a way to not check for this
> > error all over the place and somehow retry failed system call. Any
> > ideas?
>
> Well, if you tell us which syscalls are returning with EINTR, maybe we
> can do
> something on our side. The freezer is supposed to be as transparent as
> possible to userspace, so it may be the case that we can do something to
>
> continue waiting or whatever you were doing after the freezing is done.
>
> Regards,
>
> Nigel

--
"Premature optimization is the root of all evil." - Donald Knuth
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/