On Mon, 2005-08-29 at 01:26 +0100, Matthew Garrett wrote: > Hi! > > I'm currently working on an entirely userspace bootsplash program. It > works quite happily, except in the case of resuming from hibernation. > The splash program is launched at the start of initramfs, and at the > end of initramfs (after the disk modules have been loaded) we attempt to > trigger resume from userspace. > > The code registers a signal that's fired on VT change. If a console > change is requested when it's currently drawing, it disables drawing and > schedules an alarm to fire 0.1 seconds later in order to avoid switching > the console when part-way through a framebuffer operation. > > The problem seems to be that swsusp tries to change the console and then > immediately freezes userspace. For reasons I don't entirely understand, > this freezes the machine. If I remove the pm_prepare_console call from > pm_prepare_processes, resume functions correctly.
Hrm.. it uses pm_prepare_console(), which should wait for the console to become active... However, it calls vt_waitactive without dealing with -EINTR. You might be getting a signal or something, can you check what's going on inside pm_prepare_console ? > For now I'll probably just work around this by removing the console > change from our kernels (we can do that in userspace scripting instead), > but this still seems to be a less than ideal situation - I'm guessing > that the same would happen if we were displaying the splash on suspend. > Any ideas what might be causing this, and how to rectify it? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

