diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-11-03 10:09:48 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:05:23 -0500 |
commit | dde07058075d357cfdc63624c8dcaa67ebd40add (patch) | |
tree | c3f29090e37f1bc103a3d6051e708d1ebbe305a5 /source4/include/events.h | |
parent | 90a8c4acc7e673e6439197776d19cc4b095ac322 (diff) | |
download | samba-dde07058075d357cfdc63624c8dcaa67ebd40add.tar.gz samba-dde07058075d357cfdc63624c8dcaa67ebd40add.tar.bz2 samba-dde07058075d357cfdc63624c8dcaa67ebd40add.zip |
r3507: - added deferred replies on sharing violation in pvfs open. The
deferred reply is short-circuited immediately when the file is
closed by another user, allowing it to be opened by the waiting user.
- added a sane set of timeval manipulation routines
- converted all the events code and code that uses it to use struct
timeval instead of time_t, which allows for microsecond resolution
instead of 1 second resolution. This was needed for doing the pvfs
deferred open code, and is why the patch is so big.
(This used to be commit 0d51511d408d91eb5f68a35e980e0875299b1831)
Diffstat (limited to 'source4/include/events.h')
-rw-r--r-- | source4/include/events.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source4/include/events.h b/source4/include/events.h index c44acc77ae..36fedc6e8b 100644 --- a/source4/include/events.h +++ b/source4/include/events.h @@ -28,7 +28,8 @@ struct event_context { struct fd_event *next, *prev; int fd; uint16_t flags; /* see EVENT_FD_* flags */ - void (*handler)(struct event_context *ev, struct fd_event *fde, time_t t, uint16_t flags); + void (*handler)(struct event_context *ev, struct fd_event *fde, + struct timeval t, uint16_t flags); void *private; int ref_count; } *fd_events; @@ -36,8 +37,9 @@ struct event_context { /* list of timed events */ struct timed_event { struct timed_event *next, *prev; - time_t next_event; - void (*handler)(struct event_context *ev, struct timed_event *te, time_t t); + struct timeval next_event; + void (*handler)(struct event_context *ev, struct timed_event *te, + struct timeval t); void *private; int ref_count; } *timed_events; @@ -45,7 +47,8 @@ struct event_context { /* list of loop events - called on each select() */ struct loop_event { struct loop_event *next, *prev; - void (*handler)(struct event_context *ev, struct loop_event *le, time_t t); + void (*handler)(struct event_context *ev, struct loop_event *le, + struct timeval t); void *private; int ref_count; } *loop_events; |