Re: DTrace probes patch

From: Robert Lor <Robert(dot)Lor(at)Sun(dot)COM>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-hackers list <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: DTrace probes patch
Date: 2008-12-16 14:40:23
Message-ID: 4947BDD7.8080705@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Peter Eisentraut wrote:
> Robert Lor wrote:
>>
>> The attached patch contains a couple of fixes in the existing probes
>> and includes a few new ones.
>>
>> - Fixed compilation errors on OS X for probes that use typedefs
>
> Could you explain what these errors are about? I don't see any errors
> on my machine.
>
In the current probes.d, the following probe definitions are commented
out because they cause compilation errors on OS X.

* probe lock__wait__start(unsigned int, LOCKMODE);
* probe lock__wait__done(unsigned int, LOCKMODE);
* probe buffer__read__start(BlockNumber, Oid, Oid, Oid, bool);
* probe buffer__read__done(BlockNumber, Oid, Oid, Oid, bool, bool);

The problem was fixed by making the changes below. probes.d is
preprocessed with cpp and as such only macros get expanded.

From:

typedef unsigned int LocalTransactionId;
typedef int LWLockId;
typedef int LWLockMode;
typedef int LOCKMODE;
typedef unsigned int BlockNumber;
typedef unsigned int Oid;
typedef int ForkNumber;

To:

#define LocalTransactionId unsigned int
#define LWLockId int
#define LWLockMode int
#define LOCKMODE int
#define BlockNumber unsigned int
#define Oid unsigned int
#define ForkNumber int

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2008-12-16 14:43:27 Re: [ADMIN] shared_buffers and shmmax
Previous Message Alvaro Herrera 2008-12-16 13:01:49 Re: Coding TODO for 8.4: Synch Rep