Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #5935

Re: About transactional memory

Path csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail
From Richard Heathfield <rjh@cpax.org.uk>
Newsgroups comp.programming
Subject Re: About transactional memory
Date Thu, 22 Oct 2015 02:51:42 +0100
Organization A noiseless patient Spider
Lines 56
Message-ID <n09fbe$7kk$1@dont-email.me> (permalink)
References <n099da$p0g$1@dont-email.me> <n099vp$qho$1@dont-email.me> <20151022024411.5dd9275c@maxa-pc>
Mime-Version 1.0
Content-Type text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Thu, 22 Oct 2015 01:49:34 +0000 (UTC)
Injection-Info mx02.eternal-september.org; posting-host="bbec9967c55d39f11ca29ee1f0b15ce1"; logging-data="7828"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+KZIdDZgxj6Tneby5DX+B4lV/Pr3hk4PBtKEwaq0Kn1w=="
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
In-Reply-To <20151022024411.5dd9275c@maxa-pc>
Cancel-Lock sha1:WDC4YpjizPq7xvq5kPU2pTtJMdU=
Xref csiph.com comp.programming:5935

Show key headers only | View raw


On 22/10/15 01:44, Melzzzzz wrote:
> On Thu, 22 Oct 2015 01:20:09 +0100
> Richard Heathfield <rjh@cpax.org.uk> wrote:
>
>> On 22/10/15 04:12, Ramine wrote:
>>>
>>> Hello,
>>>
>>>
>>> I was thinking more and more...
>>
>> Okay, I'll run with that for now.
>>
>>>
>>> And now i have come to an interesting subject...
>>>
>>> Perhaps you will ask me a question as this:
>>>
>>> Amine, why have you invented your new scalable distributed
>>> reader-writer mutex, and why have you not simply used transactional
>>> memory like: Intel TSX or others..
>>
>> Well, no, but I do have a question for you.
>>
>> This code is from Mlock.pas:
>>
>> Buffer1 := AllocMem(SizeOf(TListEntry) + Alignment);
>> FCount1 := PListEntry((int(Buffer1) + Alignment - 1)
>>                              and not (Alignment - 1));
>>
>> I am guessing that AllocMem is rather like malloc, in that it
>> allocates a bunch of memory. Is AllocMem an implementation-defined
>> function, or one of yours? If it's one of yours, where is the source
>> code?
>>
>> If it's not one of yours, what happens if it can't allocate the
>> memory? Does it return some kind of failure indicator, a la malloc?
>>
>> If so, why aren't you testing for that, and is all your code this
>> shaky?
>>
>
> It can be configured to either return NULL or throw run time error.
> By default it throws error.

Okay, so if there isn't enough memory, either it throws an error, in 
which case the program aborts unexpectedly (I see no "catch" code here), 
or it scribbles all over memory it doesn't own.

Neither option looks good from over here.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

Back to comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Re: About transactional memory Richard Heathfield <rjh@cpax.org.uk> - 2015-10-22 01:20 +0100
  Re: About transactional memory Melzzzzz <mel@zzzzz.com> - 2015-10-22 02:44 +0200
    Re: About transactional memory Richard Heathfield <rjh@cpax.org.uk> - 2015-10-22 02:51 +0100
      Re: About transactional memory Melzzzzz <mel@zzzzz.com> - 2015-10-22 04:00 +0200

csiph-web