Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:11.4
suspend
suspend-0.80-fix-s2both-resume-hacks.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File suspend-0.80-fix-s2both-resume-hacks.diff of Package suspend
Index: b/suspend.c =================================================================== --- a/suspend.c +++ b/suspend.c @@ -1772,11 +1772,10 @@ int suspend_system(int snapshot_fd, int if (error) goto Shutdown; reset_signature(resume_fd); free_swap_pages(snapshot_fd); free_snapshot(snapshot_fd); - s2ram_resume(); goto Unfreeze; } Shutdown: #endif close(resume_fd); @@ -2268,11 +2267,11 @@ int main(int argc, char *argv[]) struct stat stat_buf; int resume_fd, snapshot_fd, vt_fd, orig_vc = -1, suspend_vc = -1; int test_fd = -1; dev_t resume_dev; int orig_loglevel, orig_swappiness, ret; - struct rlimit rlim; + struct rlimit rlim, rlim_saved; static char chroot_path[MAX_STR_LEN]; my_name = basename(argv[0]); /* Make sure the 0, 1, 2 descriptors are open before opening the @@ -2500,19 +2499,19 @@ int main(int argc, char *argv[]) goto Restore_console; } splash.progress(5); +#ifdef CONFIG_ENCRYPT + if (do_encrypt && ! use_RSA) + splash.read_password(password, 1); +#endif #ifdef CONFIG_BOTH /* If s2ram_hacks returns != 0, better not try to suspend to RAM */ if (s2ram) s2ram = !s2ram_hacks(); #endif -#ifdef CONFIG_ENCRYPT - if (do_encrypt && ! use_RSA) - splash.read_password(password, 1); -#endif open_printk(); orig_loglevel = get_kernel_console_loglevel(); set_kernel_console_loglevel(suspend_loglevel); @@ -2522,18 +2521,25 @@ int main(int argc, char *argv[]) sync(); splash.progress(10); + getrlimit(RLIMIT_NOFILE, &rlim_saved); rlim.rlim_cur = 0; rlim.rlim_max = 0; setrlimit(RLIMIT_NOFILE, &rlim); setrlimit(RLIMIT_NPROC, &rlim); setrlimit(RLIMIT_CORE, &rlim); ret = suspend_system(snapshot_fd, resume_fd, test_fd); + setrlimit(RLIMIT_NOFILE, &rlim_saved); +#ifdef CONFIG_BOTH + if (s2ram) + s2ram_resume(); +#endif + if (orig_loglevel >= 0) set_kernel_console_loglevel(orig_loglevel); close_printk();
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor