about summary refs log tree commit diff
path: root/git
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2006-12-10 22:31:36 +0100
committerLars Hjemli <hjemli@gmail.com>2006-12-10 22:31:36 +0100
commit25105d7ecaba474d4b7c364ebb586aac3dfc5abb (patch)
tree8beb08db1399b8efb8c7fbcd936044ae7fc232e6 /git
parentAdd .gitignore (diff)
downloadcgit-pink-25105d7ecaba474d4b7c364ebb586aac3dfc5abb.tar.gz
cgit-pink-25105d7ecaba474d4b7c364ebb586aac3dfc5abb.zip
Add caching infrastructure
This enables internal caching of page output.

Page requests are split into four groups:
  1) repo listing (front page)
  2) repo summary
  3) repo pages w/symbolic references in query string
  4) repo pages w/constant sha1's in query string

Each group has a TTL specified in minutes. When a page is requested, a cached
filename is stat(2)'ed and st_mtime is compared to time(2). If TTL has expired
(or the file didn't exist), the cached file is regenerated.

When generating a cached file, locking is used to avoid parallell processing
of the request. If multiple processes tries to aquire the same lock, the ones
who fail to get the lock serves the (expired) cached file. If the cached file
don't exist, the process instead calls sched_yield(2) before restarting the
request processing.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'git')
0 files changed, 0 insertions, 0 deletions
d>Set log marker on FocusOut eventJune McEnroe 2018-08-08Color own messages 15June McEnroe 2018-08-08Use BLACK LEFT-POINTING TRIANGLE for markerJune McEnroe 2018-08-07Reset attrs after addIRCJune McEnroe 2018-08-07Add tab complete UIJune McEnroe 2018-08-07Implement cycling tab completeJune McEnroe 2018-08-07Mark log when scrolling upJune McEnroe 2018-08-07Remove extraneous slash from unrecognized commandJune McEnroe 2018-08-07Highlight and beep pingsJune McEnroe 2018-08-07Factor out allocating conversion between wcs and mbsJune McEnroe 2018-08-07Match commands case-insensitivelyJune McEnroe 2018-08-07Convert input to multibyte before handlingJune McEnroe 2018-08-07Populate tab-complete listJune McEnroe 2018-08-07Fix /me formatting side-effectsJune McEnroe 2018-08-07Define ui.c BUF_LEN with enumJune McEnroe 2018-08-07Hack clang into checking uiFmt format stringsJune McEnroe 2018-08-07Handle PART and QUIT without messagesJune McEnroe 2018-08-07Make safe filling the who bufferJune McEnroe 2018-08-07Add reverse and reset IRC formatting codesJune McEnroe 2018-08-06Rewrite line editing again, add formattingJune McEnroe 2018-08-06Fix allocation size in vaswprintfJune McEnroe 2018-08-06Implement word wrappingJune McEnroe 2018-08-06Use wchar_t strings for all of UIJune McEnroe 2018-08-06Rename line editing functionsJune McEnroe 2018-08-05Initialize all possible color pairsJune McEnroe 2018-08-05Refactor color initializationJune McEnroe 2018-08-05Add ^L redrawJune McEnroe 2018-08-05Use 16 colors if availableJune McEnroe 2018-08-05Limit parsed colors to number of mIRC colorsJune McEnroe 2018-08-04Show source link on exitJune McEnroe 2018-08-04Implement line editing, scrollingJune McEnroe 2018-08-04Handle /topicJune McEnroe