From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_20,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public From: "Robert Martin" Subject: Re: Software landmines (loops) Date: 1998/09/03 Message-ID: <6sm5qh$2r2$1@hirame.wwa.com>#1/1 X-Deja-AN: 387474194 References: <35f51e53.48044143@ X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 Organization: WorldWide Access - Midwestern Internet Services - www.wwa.com Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-03T00:00:00+00:00 List-Id: Matthew Heaney wrote in message ... > Seize (M); > > Release (M); > >The problem is that flow of control skips right past the Release when an >exception occurs. This loss of control is definately NOT a good thing, >because it will cause deadlock. > >My rebuttal to Robert's argument is that the seize and release calls >should be called automatically, not manually by the programmer. Even if >an exception occurs, Release gets called (automatically), and so no >resource problems can occur. And I agree. Controlled type, or RAI, are good approaches to managing resources, whether in the presence of exceptions or not. My point is that the technique is not completely general. It works well for mutexes, allocated memory buffers, locks, etc. But does not work as well for restoring partial results in complex data structures, etc. Robert C. Martin | Design Consulting | Training courses offered: Object Mentor | rmartin@oma.com | Object Oriented Design 14619 N Somerset Cr | Tel: (800) 338-6716 | C++ Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com "One of the great commandments of science is: 'Mistrust arguments from authority.'" -- Carl Sagan