diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-02-03 02:35:52 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:09:29 -0500 |
commit | 66170ef8b36b499aa5b44ef10c1bd362a50f2636 (patch) | |
tree | 5bfb3d759ad397a6a42588b97802e237781c35e8 /source4/ntvfs/posix | |
parent | 1774b36c1464e1f04f982b83577e62fa31cbeef9 (diff) | |
download | samba-66170ef8b36b499aa5b44ef10c1bd362a50f2636.tar.gz samba-66170ef8b36b499aa5b44ef10c1bd362a50f2636.tar.bz2 samba-66170ef8b36b499aa5b44ef10c1bd362a50f2636.zip |
r5185: make all the events data structures private to events.c. This will
make it possible to add optimisations to the events code such as
keeping the next timed event in a sorted list, and using epoll for
file descriptor events.
I also removed the loop events code, as it wasn't being used anywhere,
and changed timed events to always be one-shot (as adding a new timed
event in the event handler is so easy to do if needed)
(This used to be commit d7b4b6de51342a65bf46fce772d313f92f8d73d3)
Diffstat (limited to 'source4/ntvfs/posix')
-rw-r--r-- | source4/ntvfs/posix/pvfs_wait.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/source4/ntvfs/posix/pvfs_wait.c b/source4/ntvfs/posix/pvfs_wait.c index 276b1d4e9a..7a8e6700c5 100644 --- a/source4/ntvfs/posix/pvfs_wait.c +++ b/source4/ntvfs/posix/pvfs_wait.c @@ -86,9 +86,9 @@ static void pvfs_wait_dispatch(struct messaging_context *msg, void *private, uin receive a timeout on a message wait */ static void pvfs_wait_timeout(struct event_context *ev, - struct timed_event *te, struct timeval t) + struct timed_event *te, struct timeval t, void *private) { - struct pvfs_wait *pwait = te->private; + struct pvfs_wait *pwait = talloc_get_type(private, struct pvfs_wait); struct smbsrv_request *req = pwait->req; pwait->reason = PVFS_WAIT_TIMEOUT; @@ -124,7 +124,6 @@ static int pvfs_wait_destructor(void *ptr) void (*fn)(void *, enum pvfs_wait_notice), void *private) { - struct timed_event te; struct pvfs_wait *pwait; pwait = talloc(pvfs, struct pvfs_wait); @@ -141,10 +140,8 @@ static int pvfs_wait_destructor(void *ptr) pwait->pvfs = pvfs; /* setup a timer */ - te.next_event = end_time; - te.handler = pvfs_wait_timeout; - te.private = pwait; - pwait->te = event_add_timed(pwait->ev, &te, pwait); + pwait->te = event_add_timed(pwait->ev, pwait, end_time, + pvfs_wait_timeout, pwait); /* register with the messaging subsystem for this message type */ |