markv@kuhub.cc.ukans.edu (02/02/91)
Simple question that could be answered with a quick test, but I'm in the planning stage of some software, and my Amiga is a few days away... Is it safe for a task to RemTask() itself? I have a parent that will spawn n (no limit beyond available mem) children tasks that can exit asynchronously to the parent. Assuming post task cleanup (like memory for the Task structure) will be done by mommy :-), can the children Terminate themselves, or does Mommy have to do it for them? If not, what about a real "Process" w/an empty seglist calling Exit()? Second, I've been working on an idea for a real simple Amiga only disk sharing via network. Suppose machine A wants to read Access on machine B. A dummy filesystem on machine A gets mounted. All it does is catch DOS packets, stuff it over the network (transport layer could be any protocol) to server process on machine B. Server Process on machine B then makes any needed temp buffers, sends the packets to a "real" file system, takes the reply, stuffs it back to machine A, where dummy file system fills in reply fields, copies data into orignal buffers, then sends it back to DOS/proccess. The advantage is simplicity (no duplication of existing intellegence in Amiga OS), no real need for client to know any details of the server like # of cyls etc (since this is done at the filesystem level), etc. Assuming reasonable verfication/integrity to the protocol, any problems/thoughts with this? -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Mark Gooderum Only... \ Good Cheer !!! Academic Computing Services /// \___________________________ University of Kansas /// /| __ _ Bix: mgooderum \\\ /// /__| |\/| | | _ /_\ makes it Bitnet: MARKV@UKANVAX \/\/ / | | | | |__| / \ possible... Internet: markv@kuhub.cc.ukans.edu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jesup@cbmvax.commodore.com (Randell Jesup) (02/02/91)
In article <28304.27a99513@kuhub.cc.ukans.edu> markv@kuhub.cc.ukans.edu writes: >Is it safe for a task to RemTask() itself? I have a parent that will >spawn n (no limit beyond available mem) children tasks that can exit >asynchronously to the parent. Assuming post task cleanup (like >memory for the Task structure) will be done by mommy :-), can the >children Terminate themselves, or does Mommy have to do it for them? >If not, what about a real "Process" w/an empty seglist calling Exit()? RemTask(0) - seppuku. Make sure the parent can't try to unload/free it before RemTask is called. Common method: Forbid(), Replymsg(to parent), RemTask(0). When the task goes away, it automatically breaks the forbid. -- Randell Jesup, Keeper of AmigaDos, Commodore Engineering. {uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com BIX: rjesup The compiler runs Like a swift-flowing river I wait in silence. (From "The Zen of Programming") ;-)
Jay@deepthot.UUCP (Jay Denebeim) (02/03/91)
In article <28304.27a99513@kuhub.cc.ukans.edu> markv@kuhub.cc.ukans.edu writes: >Second, I've been working on an idea for a real simple Amiga only disk >sharing via network. Suppose machine A wants to read Access on >machine B. A dummy filesystem on machine A gets mounted. All it does >is catch DOS packets, stuff it over the network (transport layer could >be any protocol) to server process on machine B. Server Process on >machine B then makes any needed temp buffers, sends the packets to a >"real" file system, takes the reply, stuffs it back to machine A, >where dummy file system fills in reply fields, copies data into >orignal buffers, then sends it back to DOS/proccess. This sounds like our PARNET and SERNET programs. They've been available for quite awhile now. Works over the parallel/serial port respectively. Transport layer is DNET for the serial, and parnet.device for the parallel. (Thanks Matt) >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >Mark Gooderum Only... \ Good Cheer !!! >Academic Computing Services /// \___________________________ >University of Kansas /// /| __ _ >Bix: mgooderum \\\ /// /__| |\/| | | _ /_\ makes it >Bitnet: MARKV@UKANVAX \/\/ / | | | | |__| / \ possible... >Internet: markv@kuhub.cc.ukans.edu >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- |_o_o|\\ |. o.| || The Jay Denebeim | . | || Software | o | || Distillery | |// Address: mcnc!wolves!deepthot!jay ====== BBS:(919)-460-7430 VOICE:(919)-460-6934
markv@kuhub.cc.ukans.edu (02/06/91)
>>Second, I've been working on an idea for a real simple Amiga only disk >>sharing via network.... > This sounds like our PARNET and SERNET programs. They've been available > for quite awhile now. Works over the parallel/serial port respectively. > Transport layer is DNET for the serial, and parnet.device for the > parallel. (Thanks Matt) Tell me more. I've never used DNET because the realy use for me would be to VMS or PC Compatible host. But sounds good. Then all one would have to do is write a Transport layer for Ethernet (not too hard). Now if only I could find out more about this SANA stuff....(hint, hint). Now if we could only get some sort of Amiga standard for layer to layer protocols, so we could do things like this compatibly.... App+Session Layers: KA9Q Telnet Domain/Other Novell Etc... | \---\ | / | | Network Layer: X.25 TCP/UDP IPX Other | / \---------------\ | /-----------/ | Link Layer: \ SLIP 802.x "Packet" Driver | \ | | | Pysical: serialx.device ethernet.device xxx.device This may seem a bit extreme, but isn't far fetched. Heck, on my DOS PC at work (with x.25 and Ethernet cards) I can run a telnet<-->X.25<->SLIP gateway togather with Novell, so that my software can access file servers, plus we run a special ICMP type protocol (but as top layer so it doesn't conflict with other TCP/IP stuff like NCSA Telnet) for smart polling, timing, etc. (Also, please no arguments over my quickie OSI diagram, esp TCP/IP on top of it...thats a whole different can of worms). -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Mark Gooderum Only... \ Good Cheer !!! Academic Computing Services /// \___________________________ University of Kansas /// /| __ _ Bix: mgooderum \\\ /// /__| |\/| | | _ /_\ makes it Bitnet: MARKV@UKANVAX \/\/ / | | | | |__| / \ possible... Internet: markv@kuhub.cc.ukans.edu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~