summaryrefslogtreecommitdiff
path: root/user/progZ.c
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-04-21 16:45:28 -0400
committerFreya Murphy <freya@freyacat.org>2025-04-21 16:45:33 -0400
commitceb9471fed96f907e37a6ba031825c31167a8ff4 (patch)
treed98392e420b4541a6ba926ff4d8b3ebe85734580 /user/progZ.c
parentupdate linker scripts (diff)
downloadcomus-ceb9471fed96f907e37a6ba031825c31167a8ff4.tar.gz
comus-ceb9471fed96f907e37a6ba031825c31167a8ff4.tar.bz2
comus-ceb9471fed96f907e37a6ba031825c31167a8ff4.zip
update userland to compile
Diffstat (limited to 'user/progZ.c')
-rw-r--r--user/progZ.c60
1 files changed, 0 insertions, 60 deletions
diff --git a/user/progZ.c b/user/progZ.c
deleted file mode 100644
index fdeb888..0000000
--- a/user/progZ.c
+++ /dev/null
@@ -1,60 +0,0 @@
-#include <common.h>
-
-/**
-** User function Z: exit, sleep, write, getpid
-**
-** Prints its ID, then records PID and PPID, loops printing its ID,
-** and finally re-gets PPID for comparison. Yields after every second
-** ID print in the loop.
-**
-** This code is used as a handy "spawn me" test routine; it is spawned
-** by several of the standard test processes.
-**
-** Invoked as: userZ x [ n ]
-** where x is the ID character
-** n is the iteration count (defaults to 10)
-*/
-
-USERMAIN(main)
-{
- int count = 10; // default iteration count
- char ch = 'z'; // default character to print
- char buf[128];
-
- // process the command-line arguments
- switch (argc) {
- case 3:
- count = str2int(argv[2], 10);
- // FALL THROUGH
- case 2:
- ch = argv[1][0];
- break;
- default:
- sprint(buf, "?: argc %d, args: ", argc);
- cwrites(buf);
- for (int i = 0; i <= argc; ++i) {
- sprint(buf, " %s", argv[argc] ? argv[argc] : "(null)");
- cwrites(buf);
- }
- cwrites("\n");
- }
-
- // announce our presence
- int pid = getpid();
- sprint(buf, " %c[%d]", ch, pid);
- swrites(buf);
-
- // iterate for a while; occasionally yield the CPU
- for (int i = 0; i < count; ++i) {
- sprint(buf, " %c[%d]", ch, i);
- swrites(buf);
- DELAY(STD);
- if (i & 1) {
- sleep(0);
- }
- }
-
- exit(0);
-
- return (42); // shut the compiler up!
-}