Mail Archives: djgpp/1993/06/24/10:05:56
> Has anyone out there code that emulates pipes and forks?
> Hopefully, using the standard unixish commands? Where possible,
> emulating multitasking by pseudotasking, and, where not possible,
> yelling an error message? This would greatly simplify porting software,
> and should be part of libc.a.
I have vfork, wait, spawn, exec, and exit working. I have used these to
port make-3.65 with minimal changes to the sources. I have been working
on getting the shell working better, and getting make to recover
successfully after shell has been spawned. This will be made available
when it is ready. I have been distracted for about a week by my new
packet radio system, but I guess I am about ready to start back in.
It works by creating a table of 32 task slots. Setjmp and longjmp are
used to load and store contexts. The only nonportable code is found in
the creation of the new stack in vfork.
The stubs for pipes are in my code, but I may not need them to port
"make", so they may come later - I'm not sure yet.
--
Jonathan Engdahl, Sr. Project Engineer | engdahl AT aa DOT ab DOT com N8XVY 313-998-2450
Allen-Bradley Co. | A Rockwell International Company
555 Briarwood Circle, | Industrial Communication Networks
Ann Arbor, MI, 48108, USA | system design, software, ASICs
- Raw text -