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 <jax...@gmail.com> > 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 <mhar...@gmail.com> > >> 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 >> >> >> >> >