Hi,
On 04/20/2017 09:24 AM, Amit Kapila wrote:
>> The lwlock dtrace probes define LWLockMode as int, and the
>> TRACE_POSTGRESQL_LWLOCK methods are called using both a variable and
>> constant definition.
>>
>> This leads to a mix of argument definitions depending on the call site, as
>> seen in probes.txt file.
>>
>> A fix is to explicit cast 'mode' to int such that all call sites will use
>> the
>>
>> argument #2 4 signed bytes
>>
>> definition. Attached patch does this.
>>
>
> I think this fix is harmless and has some value in terms of
> consistency. One minor suggestion is that you should leave a space
> after typecasting.
>
> - TRACE_POSTGRESQL_LWLOCK_WAIT_DONE(T_NAME(lock), mode);
> + TRACE_POSTGRESQL_LWLOCK_WAIT_DONE(T_NAME(lock), (int)mode);
>
> There should be a space like "(int) mode".
>
>
v2 attached.
>> I have verified all dtraces probes for their type, and only the lock__
>> methods doesn't aligned with its actual types.
>>
>
> Do you see any problem with that?
>
Not really, but it would be more clear what the value space of each of
the parameters were.
>>
>> Depending on the feedback I can add this patch to the open item list in
>> order to fix it for PostgreSQL 10.
>>
>
> Is there any commit in PG-10 which has caused this behavior? If not,
> then I don't think it should be added to open items of PG-10.
>
>
It is really a bug fix, so it could even be back patched.
Thanks for the feedback !
Best regards,
Jesper
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers