On Thu, Mar 17, 2016 at 11:17 AM, Andres Freund <and...@anarazel.de> wrote: > Right now, do use a WaitEventSet you'd do something like > WaitEvent event; > > ModifyWaitEvent(FeBeWaitSet, 0, waitfor, NULL); > > WaitEventSetWait(FeBeWaitSet, 0 /* no timeout */, &event, 1); > > i.e. use a WaitEvent on the stack to receive the changes. If you wanted > to get more changes than just one, you could end up allocating a fair > bit of stack space. > > We could instead allocate the returned events as part of the event set, > and return them. Either by returning a NULL terminated array, or by > continuing to return the number of events as now, and additionally > return the event data structure via a pointer. > > So the above would be > > WaitEvent *events; > int nevents; > > ModifyWaitEvent(FeBeWaitSet, 0, waitfor, NULL); > > nevents = WaitEventSetWait(FeBeWaitSet, 0 /* no timeout */, > events, 10); > > for (int off = 0; off <= nevents; nevents++) > ; // stuff
I don't see this as being particularly better. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers