🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.tech
Article #1839

A desparate plea....

#1839
From: Steve Koren
Date: Wed, 25 Oct 1989 14:00
51 lines
2737 bytes
I have a rather desparate plea... I am very nearly done with a large
programming project on the Amiga which is to be freely distributable
when I am done with it.  It is currently around 12000 sources lines not
counting comments and some libraries I developed earlier.  I have it
all working, and mostly debugged, but I am missing just one little
tiny thing.  I'm sure *someone* knows how to do it.

I need a way to execute programs that meets the following criteria:

  1) I must be able to examine the return code from the command
  2) I must be able to pass command line parameters to the command
  3) I must be able to redirect standard i/o
  4) The command must run interactively; that is, if I run something
     like Format, format must talk to the keyboard.  Also, the command
     that is run must listen to the break key normally
  5) The command, if it in turn executes another command, must properly
     look at the AmigaDos path.

Also, I very highly want the following:

  6> A way to set the stack size and task priority
  7) A method that won't crash on BCPL programs (as forkv() does - it
     also crashes on around 10% of other, non BCPL code)

  8) A way to run the command in the background if I wish

Every method I know of violates at least one of 1..5, and possibly 6..8.

  a) Execute()     violates 1, maybe 4, and 6 and 8
  b) forkv()       violates 7, maybe 4, and 5
  c) Loadseg()...  violates 1, 2, maybe 3 and a few others
  d) system()      violates 3, 6, 7, 8, and maybe a few others

It seems to me that there *must* be an easy way to do this.  After
all, the AmigaDos CLI does it, no?  It seems like a most basic
thing for an operating system to do.  forkv() comes close, but it
is useless to me.  I can sort of get around it crashing on BCPL code, but it
also crashes on around 10% of all other software I have.  That alone
makes it unusable if I want to develop a robust piece of software.

I would be *very* greatful to anyone who can help.  I need a solution
that will work with Lattice 5.02 or later, so even if you can just
point me to some public domain code I can examine that does this under
Lattice, that would be great.  I absolutely need this
for my project, and the results will be available to the Amiga
community.

         thanks,

           steve (koren@hpfela.HP.COM)
Technical Details
Message-ID: <13920003@hpfelg.HP.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!hplabs!hpfcso!hpfelg!koren

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!hplabs!hpfcso!hpfelg!koren
From: koren@hpfelg.HP.COM (Steve Koren)
Newsgroups: comp.sys.amiga.tech
Subject: A desparate plea....
Message-ID: <13920003@hpfelg.HP.COM>
Date: 25 Oct 89 14:00:46 GMT
Organization: HP Elec. Design Div. -FtCollins
Lines: 51