Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Please login to access the resource
home:aualin:kde
kdelibs3
oom_score_adj.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File oom_score_adj.patch of Package kdelibs3
Index: kdelibs-3.5.10/kinit/start_kdeinit.c =================================================================== --- kdelibs-3.5.10.orig/kinit/start_kdeinit.c +++ kdelibs-3.5.10/kinit/start_kdeinit.c @@ -44,11 +44,30 @@ static int set_protection( pid_t pid, in { char buf[ 1024 ]; int procfile; + struct stat st; + + /* Newer kernels (noticed in 2.6.36) */ + sprintf( buf, "/proc/%d/oom_score_adj", pid ); + if ( lstat (buf, &st) == 0) { + if( !enable ) { + /* Be paranoid and check that the pid we got from the pipe + belongs to this user. */ + if( st.st_uid != getuid()) + return 0; + } + procfile = open(buf, O_WRONLY); + if( enable ) + write( procfile, "-300", sizeof( "-300" )); + else + write( procfile, "0", sizeof( "0" )); + close( procfile ); + return 1; + } + sprintf( buf, "/proc/%d/stat", pid ); if( !enable ) { /* Be paranoid and check that the pid we got from the pipe belongs to this user. */ - struct stat st; if( lstat( buf, &st ) < 0 || st.st_uid != getuid()) return 0; }
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