PERFORCE change 167360 for review

Edward Tomasz Napierala trasz at FreeBSD.org
Sat Aug 15 12:59:00 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=167360

Change 167360 by trasz at trasz_anger on 2009/08/15 12:58:43

	Unbreak pts accounting.

Affected files ...

.. //depot/projects/soc2009/trasz_limits/sys/kern/tty_pts.c#7 edit

Differences ...

==== //depot/projects/soc2009/trasz_limits/sys/kern/tty_pts.c#7 (text+ko) ====

@@ -688,7 +688,6 @@
 		free_unr(pts_pool, psc->pts_unit);
 
 	chgptscnt(psc->pts_uidinfo, -1, 0);
-	hrl_free(HRL_RESOURCE_PTY, 1);
 	uifree(psc->pts_uidinfo);
 
 	knlist_destroy(&psc->pts_inpoll.si_note);
@@ -725,7 +724,7 @@
 	/* Resource limiting. */
 	PROC_LOCK(p);
 	ok = chgptscnt(uid, 1, lim_cur(p, RLIMIT_NPTS));
-	error = hrl_alloc(HRL_RESOURCE_PTY, 1);
+	error = hrl_alloc_proc(p, HRL_RESOURCE_PTY, 1);
 	PROC_UNLOCK(p);
 	if (ok != !error)
 		printf("pts_alloc: ok = %d, error = %d\n", ok, error);
@@ -736,13 +735,13 @@
 	unit = alloc_unr(pts_pool);
 	if (unit < 0) {
 		chgptscnt(uid, -1, 0);
-		hrl_free(HRL_RESOURCE_PTY, 1);
+		hrl_free_proc(p, HRL_RESOURCE_PTY, 1);
 		return (EAGAIN);
 	}
 	if (unit > pts_maxdev) {
 		free_unr(pts_pool, unit);
 		chgptscnt(uid, -1, 0);
-		hrl_free(HRL_RESOURCE_PTY, 1);
+		hrl_free_proc(p, HRL_RESOURCE_PTY, 1);
 		return (EAGAIN);
 	}
 
@@ -781,7 +780,7 @@
 	/* Resource limiting. */
 	PROC_LOCK(p);
 	ok = chgptscnt(uid, 1, lim_cur(p, RLIMIT_NPTS));
-	error = hrl_alloc(HRL_RESOURCE_PTY, 1);
+	error = hrl_alloc_proc(p, HRL_RESOURCE_PTY, 1);
 	PROC_UNLOCK(p);
 	if (ok != !error)
 		printf("pts_alloc: ok = %d, error = %d\n", ok, error);


More information about the p4-projects mailing list