tsocket/bsd: more correctly check if the cached tevent_fd is still valid
authorStefan Metzmacher <metze@samba.org>
Mon, 29 Jun 2009 11:05:27 +0000 (13:05 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 29 Jun 2009 14:03:57 +0000 (16:03 +0200)
commitb1d5e515b23acd50ae5c41c347a2cad1726d03fb
tree5d28d729d91ebd4c8beba3f4f39e07014b997346
parentbd997b257457d928108747bcca80ed7708f8dc74
tsocket/bsd: more correctly check if the cached tevent_fd is still valid

I some cases the pointer value of tevent_context is the same again,
if we do something like:

ev1 = tevent_context_init();
...
fde = tevent_add_fd(ev1, fd, TEVENT_FD_READ...);
...
talloc_free(ev1);
...
ev2 = tevent_context_init();

if (ev1 == ev2) {
/* this can happen! */
}

if (tevent_fd_get_flags(fde) == 0) {
/* this is always true */
}

But the "talloc_free(ev1)" will set fde->event_ctx to NULL
and tevent_fd_get_flags() will always return 0.

metze
lib/tsocket/tsocket_bsd.c