magic for OSF C2, and Crays
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5780 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -184,6 +184,38 @@ do_login(struct passwd *pwd)
|
|||||||
if(rootlogin == 0)
|
if(rootlogin == 0)
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
/* perhaps work some magic */
|
||||||
|
if(do_osfc2_magic(pwd->pw_uid))
|
||||||
|
sleepexit(1);
|
||||||
|
#if defined(HAVE_GETUDBNAM) && defined(HAVE_SETLIM)
|
||||||
|
{
|
||||||
|
struct udb *udb;
|
||||||
|
long t;
|
||||||
|
const long maxcpu = 46116860184; /* some random constant */
|
||||||
|
udb = getudbnam(pwd->pw_name);
|
||||||
|
if(udb == UDB_NULL)
|
||||||
|
errx(1, "Failed to get UDB entry.");
|
||||||
|
t = udb->ue_pcpulim[UDBRC_INTER];
|
||||||
|
if(t == 0 || t > maxcpu)
|
||||||
|
t = CPUUNLIM;
|
||||||
|
else
|
||||||
|
t *= 100 * CLOCKS_PER_SEC;
|
||||||
|
|
||||||
|
if(limit(C_PROC, 0, L_CPU, t) < 0)
|
||||||
|
warn("limit C_PROC");
|
||||||
|
|
||||||
|
t = udb->ue_jcpulim[UDBRC_INTER];
|
||||||
|
if(t == 0 || t > maxcpu)
|
||||||
|
t = CPUUNLIM;
|
||||||
|
else
|
||||||
|
t *= 100 * CLOCKS_PER_SEC;
|
||||||
|
|
||||||
|
if(limit(C_JOBPROCS, 0, L_CPU, t) < 0)
|
||||||
|
warn("limit C_JOBPROCS");
|
||||||
|
|
||||||
|
nice(udb->ue_nice[UDBRC_INTER]);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (chdir(pwd->pw_dir) < 0) {
|
if (chdir(pwd->pw_dir) < 0) {
|
||||||
fprintf(stderr, "No home directory \"%s\"!\n", pwd->pw_dir);
|
fprintf(stderr, "No home directory \"%s\"!\n", pwd->pw_dir);
|
||||||
if (chdir("/"))
|
if (chdir("/"))
|
||||||
|
Reference in New Issue
Block a user