[fpc-pascal] Thread Safety of String
Michael Van Canneyt
michael at freepascal.org
Wed Jun 4 20:30:14 CEST 2014
On Wed, 4 Jun 2014, johanns at nacs.net wrote:
> On Wed, Jun 04, 2014 at 01:19:33PM -0400, md at rpzdesign.com wrote:
>> On 6/4/2014 1:16 PM, Michael Van Canneyt wrote:
>>>
>>>
>>> On Wed, 4 Jun 2014, md at rpzdesign.com wrote:
>>>
>>>> Hello:
>>>>
>>>> Is a string[30] declaration under Linux thread safe?
>>>
>>> No.
>>>
>>> Michael.
>>
>> Just as I suspected.
>>
>> So every time a new value is assigned to a string[30] variable, memory
>> is allocated and changed by the compiler, so the internal string pointer
>> changes as well.
>>
>> And the only recourse is critical sections for memory access.
>>
>> Correct?
>>
>> CHeers,
>>
>> marco
>
> I still program in Turbo Pascal so I am more of a spectator than a user of
> Free Pascal. As I understand it the shortstring type is the same as string
> type in Turbo Pascal. This would make index 0 of variable typed as
> shortstring[SIZE] an internal length byte and index positions 1 through SIZE
> the data value of the string. Since, unlike a newer string type, a
> shortstring is not an object and not a managed string at all, but a simple
> type like an integer, I would expect shortstring might be thread safe.
>
> Is this the case?
No, exactly the opposite.
Michael.
More information about the fpc-pascal
mailing list