]>
Commit | Line | Data |
---|---|---|
1ff991dc AJ |
1 | #ifndef SQUID_SRC_DISKIO_DISKTHREADS_COMMIO_H |
2 | #define SQUID_SRC_DISKIO_DISKTHREADS_COMMIO_H | |
56410c89 | 3 | |
4 | #include "fde.h" | |
582c2af2 | 5 | #include "globals.h" |
56410c89 | 6 | |
7 | class CommIO | |
8 | { | |
9 | ||
10 | public: | |
11 | static inline void NotifyIOCompleted(); | |
12 | static void ResetNotifications(); | |
13 | static void Initialise(); | |
14 | static void NotifyIOClose(); | |
15 | ||
16 | private: | |
17 | static void NULLFDHandler(int, void *); | |
18 | static void FlushPipe(); | |
19 | static bool Initialised; | |
20 | static bool DoneSignalled; | |
21 | static int DoneFD; | |
22 | static int DoneReadFD; | |
23 | }; | |
24 | ||
56410c89 | 25 | /* Inline code. TODO: make structued approach to inlining */ |
26 | void | |
27 | CommIO::NotifyIOCompleted() | |
28 | { | |
29 | if (!Initialised) | |
30 | Initialise(); | |
31 | ||
32 | if (!DoneSignalled) { | |
33 | DoneSignalled = true; | |
34 | FD_WRITE_METHOD(DoneFD, "!", 1); | |
35 | } | |
36 | }; | |
37 | ||
1ff991dc | 38 | #endif /* SQUID_SRC_DISKIO_DISKTHREADS_COMMIO_H */ |