You're right, Dave, about the print statements. I accidentally pasted my
code and then modified what was printed out. The else should read: else {
cout << "event is not pending" << endl; } and this line of code always gets
executed, despite it still getting triggered on incoming connection.
I'll work on getting a more basic piece of code that I can put on the
internet. I just difficult to release a complete piece of code with this
being a commercial product.
On Tue, Jun 12, 2012 at 12:09 PM, Dave Hart <[email protected]> wrote:
> On Tue, Jun 12, 2012 at 5:06 PM, Julian Bui <[email protected]> wrote:
> > Oh, one more thing. I would really like to verify that there is indeed
> an
> > event still pending - because I can at least restart the dispatch loop if
> > there is an event pending. But I have not been able to correctly use
> > event_pending for some reason. My code is below
>
> You have incomplete pseudocode below.
>
> > and it always prints "event is not pending" regardless of
>
> My reading has it always printing "event is still pending" regardless
> of anything.
>
> > whether or not the dispatch loop is running.
> > The code sets up a persistent event that will handle every incoming
> > connection to my server. I would expect that at some point it would
> print
> > out that the event is pending...because like I said, this code DOES work
> > most of the time, and if it's not pending I have no idea why the handlers
> > would even still be triggered.
> >
> > struct event* my_event = event_new(s_event_base, server_socket, EV_READ |
> > EV_PERSIST, &TileSocketServer::onAccept, (void*) client);
> >
> > if(my_event != NULL)
> > {
> > int add_err = event_add(my_event, NULL);
> >
> > if(add_err != 0)
> > cout << "add_err:" << add_err << endl;
> >
> > int is_evt_pending = event_pending(my_event, EV_READ |
> EV_PERSIST,
> > NULL);
> > if(is_evt_pending == 1)
> > {
> > cout << "event is still pending" << endl;
> > }
> > else
> > {
> > cout << "event is still pending" << endl;
> > }
>
> I suggest providing a complete, freestanding example that others can
> actually compile rather than simply speculate about.
>
> Cheers,
> Dave Hart
> ***********************************************************************
> To unsubscribe, send an e-mail to [email protected] with
> unsubscribe libevent-users in the body.
>