Path: utzoo!attcan!uunet!super!udel!princeton!njin!rutgers!cmcl2!nrl-cmf!ames!oliveb!amiga!bart From: bart@amiga.UUCP (Barry A. Whitebook) Newsgroups: comp.sys.amiga.tech Subject: Re: 1.4 enhancement / replacement for Setfunction? Keywords: setfunction 1.4 Message-ID: <3104@amiga.UUCP> Date: 15 Nov 88 00:02:39 GMT Reply-To: bart@popeye.UUCP (Barry A. Whitebook) Organization: Commodore-Amiga Inc, Los Gatos CA Lines: 33 In article <4995@garfield.MUN.EDU> john13@garfield.MUN.EDU (John Russell) writes: ) )On a couple of recent occasions I have been tempted to use Setfunction() to )make things safer when doing not-entirely-safe things, just by adding a )test "does this call relate to me? If not pass it, else shut down then call )the function over again to let it go through". ) )However it seems that unless your new function is the big enchilada in terms )of replacement functions this approach may be unsafe as well, as in the )case where different people Setfunction a vector and then don't exit in )exactly the same order, leading to the vector pointing to a defunct routine. ) )Since we already have very expandable ways to add chains of input handlers, )devices, interrupt servers, etc. why not make Setfunction (or a new )similar function) just as good? ) prior to the april dencon3 in washington d.c. i invested some real work in creating the framework for this exact SetFunction() replacement. the name of these nodes was (perhaps unfortunately) system "Wedge"s. System Wedges are as safe as one can reasonably get in terms of multitasking and avoiding potential race conditions. while there has currently been no hard decision to include a safer setfunction() in V1.4, i would like very much to be able to use the Wedge code as the basis for such a SafeSetFunction(). details on the proposed procedures are included as part of the 1.3 devcon notes, under the heading "Creating your own Libraries and Leveraging off existing ones" including discussion of the more subtle multitasking considerations. source code examples can be found on the devcon3 code disk. your comments on this code are welcomed.