Path: utzoo!mnetor!uunet!husc6!think!ames!ucsd!sdcsvax!ucsdhub!hp-sdd!hplabs!decwrl!labrea!polya!rokicki From: rokicki@polya.STANFORD.EDU (Tomas G. Rokicki) Newsgroups: comp.sys.amiga Subject: Re: IPC - A proposal Message-ID: <2116@polya.STANFORD.EDU> Date: 7 Mar 88 19:21:18 GMT References: <5375@well.UUCP> <739@nuchat.UUCP> <7455@agate.BERKELEY.EDU> Reply-To: rokicki@polya.UUCP (Tomas G. Rokicki) Organization: Stanford University Lines: 25 > How about my other point -- that FindPort can be hazardous, if Browser > should somehow be shut down between a FindPort and PutMsg? Would you > consider adding codes 'HOLD' and 'RLSE' to your 'ADD ' and 'DEL '? > (I avoided the word 'LOCK' for probably obvious reasons...) Nope, all code which sends a message to a public port which might be shut down should do a Forbid() ; if (port=FindPort("foobar.baz")) PutMsg(port,msg) ; Permit() ; if (port) /* then message was sent */ Arguments are probably confused, but you get the idea. Hold/Release is okay, except the Browser might need to abort due to some catastrophic problem when a Hold has been put on it. Do the above, and everything's hunky-dory, except you have a FindPort() within Forbid()/Permit() . . . Oh, and give them a longword length if at all possible; I can see no reason to *limit* message length to 64K. It's that kind of thinking that gave MSDOS 640K and TOS 40 folders. -tom