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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3ccb707f4c91a5f2 X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Unbounded strings (Was: Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation)) Date: 1996/11/27 Message-ID: #1/1 X-Deja-AN: 201016928 references: <325BC3B3.41C6@hso.link.com> organization: New York University newsgroups: comp.lang.ada Date: 1996-11-27T00:00:00+00:00 List-Id: Kevin D. Heatwole wrote: >I suspect that even this approach would have some difficulties involving >pool-specific (or global) locks. While task A may allocate the storage >out of its per-task pool of memory, task B may be the task that deallocates >the memory later. If you have two threads mucking about with the same >pool of memory, you will need to implement some form of serialization. That suspicion is wrong, there is for instance the familiar free storage management technique (used in Microsoft Pascal, and in the x86 Alsys implementation -- I know about the latter, I write it :-) where free simply sets the free bit and NOTHING else, and recombination of blocks is done entirely by the allocator. There are other techniques to avoid locking for the free case.