shithub: drawcpu

Download patch

ref: f69f735ebcf41200cc3817019a862a8d7bd76961
parent: 746e0c9217ab9ee1884b721a955b712d59b13549
author: halfwit <michaelmisch1985@gmail.com>
date: Sun Nov 30 16:26:12 EST 2025

Last few changes for a mostly working rc

--- a/kern/chan.c
+++ b/kern/chan.c
@@ -1466,7 +1466,9 @@
 			c = cnew;
 			c->path = addelem(c->path, e.elems[e.nelems-1], nil);
 			break;
-		}
+		} else
+			poperror();
+
 
 		/* create failed */
 		putmhead(m);
--- a/kern/stub.c
+++ b/kern/stub.c
@@ -31,19 +31,14 @@
 long
 hostdomainwrite(char *a, int n)
 {
-	USED(a);
-	USED(n);
-	error(Eperm);
-	return 0;
+
+	return (long)setdomainname(a, n);
 }
 
 long
 hostownerwrite(char *a, int n)
 {
-	USED(a);
-	USED(n);
-	error(Eperm);
-	return 0;
+	return (long)sethostname(a, n);
 }
 
 void
@@ -60,7 +55,7 @@
 	USED(tag);
 }
 
-/* TODO: We may want notes */
+/* TODO: We need this very soon */
 int
 postnote(Proc *p, int x, char *msg, int flag)
 {
--- a/kern/syscall.c
+++ b/kern/syscall.c
@@ -458,7 +458,7 @@
 	newfd = arg(1);
 	if(debug)
 		print("sysdup\n");
-	up->R[0] = noteerr(dup2(oldfd, newfd), 0);
+	up->R[0] = noteerr(dup(oldfd, newfd), 0);
 }
 
 static void
--- a/kern/sysproc.c
+++ b/kern/sysproc.c
@@ -550,10 +550,10 @@
 	poperror();
 
 	if(flag & (RFFDG|RFCFDG)) {
-		if(flag & RFFDG)
-			p->fgrp = dupfgrp(up->fgrp);
-		else
+		if(flag & RFCFDG)
 			p->fgrp = dupfgrp(nil);
+		else
+			p->fgrp = dupfgrp(up->fgrp);
 	}
 	else {
 		p->fgrp = up->fgrp;
--- a/main.c
+++ b/main.c
@@ -74,6 +74,12 @@
 	if((fd = create("/env/nvram", ORDWR, 0666)) < 0)
 		panic("open env/nvram: %r");
 	fprint(fd, "%s", nvram);
+	close(fd);
+
+	// We need to set our actual nvlen
+	if((fd = open(nvram, OREAD)) < 0)
+		panic("open %d: %r", nvram);
+
 	nvrlen = seek(fd, 0, SEEK_END);
 	close(fd);
 
@@ -87,7 +93,6 @@
 	fprint(fd, "%d", nvrlen);
 	close(fd);
 
-
 	if((fd = create("/env/cputype", ORDWR, 0666)) < 0)
 		panic("open env/cputype: %r");
 	fprint(fd, "arm");
@@ -187,10 +192,6 @@
 	}
 
 	envinit(nvram);
-	//if(authsrv){
-	//	if((fd = create("")))
-	//}
-
 	if(open("/dev/cons", OREAD) != 0)
 			panic("open0: %r");
 	if(open("/dev/cons", OWRITE) != 1)
--