[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Libevent-users] Destroying event from callback function



Actually event_set() caused segmentation fault, but it's newer substitution - event_assign() works perfectly. Problem solved. Thank you both for help.

2011/4/7 JiangHao <jaxecn@xxxxxxxxx>
sorry ,i read your question again .
may be we could do this:
event* ev = event_new(0, -1,0, 0,0);
event_set(ev,base, socket, flags, cb_func, ev);

then you could pass the event as argument .

2011/4/7 Michał Król <mharnen@xxxxxxxxx>
Hi,

I was wondering if there is any way I can access event object within callback function in libevent2? I know I can put it in global variable, but I'll have a lot of events and I want to access particular one, so I want to avoid it.

I cannot pass it as an argument because I'll have pointer to event structure after setting callback in evet_new.

To be precise I want to do something like this:


int main(){
     event = event_new(base, socket, flags, cb_func, args);

     event_add(event);
}

void cb_func(args){

     //do some work

     event_del(event);  <-- the problem is with getting event structure which invoked this callback }


Thanks in advance

Michal