🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Shared IDCMP Ports--Proposal

#10089
From: Matt Dillon
Date: Wed, 19 Oct 1988 17:48
42 lines
2460 bytes
>	I hope I'm not from Mars on this one, but I fail to see why everyone
>is keen on making IPC connections through a Window's IDCMP port.

	I see it, it's a cool idea because then the IPC is immediately 
window-oriented.... more intuitive to the user, no?  One could then construct
'standard' commands to cut-paste text and IFF, etc... without having to go
through the bother of the clipboard.

>	Consider:  Not all programs open windows (the CLI commands are good
>examples of this).  Some programs which do open windows open only DOS
>windows, for which IDCMP access is at best difficult, and handled by DOS
>anyway (and knowing DOS, it will probably get seriously confused if foreign
>messages start arriving at ports it manages).  Also, some programs open more
>than one window; how do you know which IDCMP port to send it to?

>	I feel that IPC communication should occur through a process's
>pr_MsgPort.  All processes are guaranteed to have one and only one, they're
>always in the same place, and they're guaranteed to exist as long as the
>process exists.

	Hmm... the problem is that DOS has to be fixed first.  Asynchronous
incomming messages simply do not work on pr_MsgPort because DOS expects the
reply to its synchronous packet to be the next packet that comes back on
the port, which is stupid since a WaitMsg() call is just as easy to write
as a WaitIO() is for IO.  Right now DOS simply does a WaitPort() and GetMsg().
BTW, I have a WaitMsg() call in my new DRES.LIBRARY which is being released
soon (now being uploaded from my Amiga so the moderator can FTP it).

	-) It's kind of fun to be able to log in to my UNIX acct from home,
start a 2MB transfer (via DNET) and have it crunch on it while I'm at class.

>	win = FindWindowUserClickedIn ();
>	pr = (struct Process *) win -> UserPort -> mp_SigTask;
>	PutMsg (pr -> pr_MsgPort, IPCCommand);

	I wish it were possible, but alas.

	Actually, I think it would be better to EXTEND the window structure
in 1.4 and add another port, as well as fix the way IDCMP ports work now 
so one can share them more easily.

				-Matt
Technical Details
Message-ID: <8810191748.AA01195@cory.Berkeley.EDU>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!att!ucbvax!CORY.BERKELEY.EDU!dillon

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!att!ucbvax!CORY.BERKELEY.EDU!dillon
From: dillon@CORY.BERKELEY.EDU (Matt Dillon)
Newsgroups: comp.sys.amiga.tech
Subject: Re: Shared IDCMP Ports--Proposal
Message-ID: <8810191748.AA01195@cory.Berkeley.EDU>
Date: 19 Oct 88 17:48:15 GMT
Sender: usenet@ucbvax.BERKELEY.EDU
Lines: 42