Our site is suddenly getting to the point where resource constraints are becoming an issue for the first time. So, apologies in advance if I have lots of optimization-related questions over the next couple of weeks...
One thing I would like to catch is the related problems of: - Users pressing stop in the middle of a long process - Users double-clicking rather than single-clicking links (resulting in 2 processes handling the request) I've read the 'user-pressed-stop' bit of the Guide (thanks Stas!) and although I think I understand the issues now, I'm looking for practical advice on approaches people use. I'm thinking that I should try writing a null byte to the client: - At the beginning of the handler - Every few iterations of potentially long loops - Before creating large files to send to the client. If I do this then Apache should receive the signal that the client has gone away, and should terminate the process happily (as long as I clean up properly, of course). So, does this sound like the right approach? Any way to simplify this to avoid explicitly adding print-a-null-byte lines to every loop? I'm wondering whether it's possible to add an alarm() and SIG{ALRM} handler or something like that, which sends a null byte every second or 2. Anyone using something like this successfully? Any potential problems from sending a null byte to a client?