aboutsummaryrefslogtreecommitdiff
path: root/src/common/compat_libevent.c
Commit message (Expand)AuthorAge
* appease check-spacesSebastian Hahn2011-11-24
* Disable IOCP and retry event_base_new_with_config once on failure•••This is a fancier bug4457 workaround for 0.2.3. In 0.2.2, we could just tell Libevent "Don't enable locking!" so it wouldn't try to make the event_base notifiable. But for IOCP, we need a notifiable base. (Eventually, we'll want a notifiable base for other stuff, like multithreaded crypto.) So the solution is to try a full-featured initialization, and then retry with all the options turned off if that fails. Nick Mathewson2011-11-14
* Merge remote-tracking branch 'public/bug4457_022' into bug4457_master•••Conflicts: src/common/compat_libevent.c Resolving conflict by not taking 7363eae13cb8 ("Use the EVENT_BASE_FLAG_NOLOCK flag to prevent socketpair() invocation"): in Tor 0.2.3.x, we _do_ sometimes use notifiable event bases. Nick Mathewson2011-11-14
|\
| * Detect failure from event_init() or event_base_new_with_config()Nick Mathewson2011-11-14
| * Use the EVENT_BASE_FLAG_NOLOCK flag to prevent socketpair() invocation•••In Tor 0.2.2, we never need the event base to be notifiable, since we don't call it from other threads. This is a workaround for bug 4457, which is not actually a Tor bug IMO. Nick Mathewson2011-11-14
* | Make bufferevents work with TokenBucketRefillIntervalNick Mathewson2011-09-22
* | Apply rate-limiting to the lowest bufferevent in the stack.•••When we're doing filtering ssl bufferevents, we want the rate-limits to apply to the lowest level of the bufferevent stack, so that we're actually limiting bytes sent on the network. Otherwise, we'll read from the network aggressively, and only limit stuff as we process it. Nick Mathewson2011-08-24
* | Automatically use filtering bufferevents with IOCP.Nick Mathewson2011-08-18
* | Call evthread_use_windows_threads when running with IOCP on windowsNick Mathewson2011-08-17
* | Replace 4 more sscanf()s with tor_sscanf()•••For some inexplicable reason, Coverity departs from its usual standards of avoiding false positives here, and warns about all sscanf usage, even when the formatting strings are totally safe. Addresses CID # 447, 446. Nick Mathewson2011-07-01
* | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/common/Makefile.am src/or/control.c Nick Mathewson2011-05-23
|\|
| * Fix comment typoRobert Ransom2011-05-12
* | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/common/address.c src/common/compat_libevent.c src/common/memarea.c src/common/util.h src/or/buffers.c src/or/circuitbuild.c src/or/circuituse.c src/or/connection.c src/or/directory.c src/or/networkstatus.c src/or/or.h src/or/routerlist.c Nick Mathewson2011-04-07
|\|
| * Clean up a comment-conversation about bad libevent version/method combosNick Mathewson2011-03-25
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-03-16
|\|
| * Resolve the one DOCDOC in the 0.2.2 code atmNick Mathewson2011-03-16
* | Merge remote-tracking branch 'origin/maint-0.2.2'•••Trivial Conflicts in src/common/crypto.c src/or/main.h src/or/or.h Nick Mathewson2011-03-16
|\|
| * Doxygen documentation for about 100 things that didn't have any•••About 860 doxygen-less things remain in 0.2.2 Nick Mathewson2011-03-16
* | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-03
|\|
| * Bump copyright statements to 2011 (0.2.2)Nick Mathewson2011-01-03
* | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2010-12-21
|\|
| * Do not send Libevent log messages to a controller.•••Doing so could make Libevent call Libevent from inside a Libevent logging call, which is a recipe for reentrant confusion and hard-to-debug crashes. This would especially hurt if Libevent debug-level logging is enabled AND the user has a controller watching for low-severity log messages. Fix bug 2190; fix on 0.1.0.2-rc. Nick Mathewson2010-11-19
* | Turn on epoll changelists with libevent 2.0.9-rc and later•••Libevent 2.0 has a "changelist" feature that avoids making redundant syscalls if we wind up doing a lot of event_add/event_del operations on the same fd in a row. Unfortunately, due to a weird design choice in Linux, it doesn't work right with epoll when multiple fds refer to the same socket (e.g., one is a dup() of the other). We don't dup() anything we give to Libevent, though, so it is safe for us to explicitly turn this feature on. Nick Mathewson2010-12-16
* | Fix one-time memory leak when initializing libevent. Spotted by SebastianNick Mathewson2010-10-15
* | Fix an apostrophe in a commentNick Mathewson2010-10-15
* | Fix an xxx wrt picking libevent methods known-to-work•••The short version is, "where we want to do it, we have nothing real to chose from and we can't do it easily. Where it's easy to do, we have no reason to do it yet." Nick Mathewson2010-10-15
* | make c612ddee compile with old libeventsRoger Dingledine2010-09-29
* | Add a new option to enable/disable IOCP supportNick Mathewson2010-09-28
* | Fix whitespace in bufferevents branchNick Mathewson2010-09-27
* | Some bufferevents related fixes and pointers for nickmSebastian Hahn2010-09-27
* | Convert bufferevents to use rate-limiting.•••This requires the latest Git version of Libevent as of 24 March 2010. In the future, we'll just say it requires Libevent 2.0.5-alpha or later. Since Libevent doesn't yet support hierarchical rate limit groups, there isn't yet support for tracking relayed-bytes separately when using the bufferevent system. If a future version does add support for hierarchical buckets, we can add that back in. Nick Mathewson2010-09-27
|/
* whitespace fixSebastian Hahn2010-07-27
* Make sure we don't warn for libevent versions like 1.4.14b-stableSebastian Hahn2010-07-26
* Rename log.h to torlog.h•••This should make us conflict less with system files named "log.h". Yes, we shouldn't have been conflicting with those anyway, but some people's compilers act very oddly. The actual change was done with one "git mv", by editing Makefile.am, and running find . -name '*.[ch]' | xargs perl -i -pe 'if (/^#include.*\Wlog.h/) {s/log.h/torlog.h/; }' Nick Mathewson2010-07-09
* Fix a compile error when building with Libevent before 1.4.5-stable•••Older versions of Libevent forgot to declare enough function arguments constant. Nick Mathewson2010-06-25
* Use Libevent 2.0's periodic timers where available.•••These timers behave better with non-monotonic clocks than our old ones, and also try harder to make once-per-second events get called one second apart, rather than one-plus-epsilon seconds apart. This fixes bug 943 for everybody using Libevent 2.0 or later. Nick Mathewson2010-06-25
* Fix a compilation warning on compat_libevent.c on some versions of windows li...Nick Mathewson2010-04-19
* Update copyright dates for files not in maint-0.2.1Nick Mathewson2010-02-27
* Remove duplicate words and a duplicate newline.Karsten Loesing2009-12-18
* Set EV_PERSIST flag on signal events with Libevent < 2.0.•••Fix for bug 1007. Nick Mathewson2009-06-18
* Fix bug 1001•••For compatibility with Libevent2, tor_event_new should accept a NULL base without crashing. Sebastian Hahn2009-06-16
* Whitespace and osx fixes on libevent2 patch.Nick Mathewson2009-06-12
* Make Tor compile with Libevent 1.0 again.Nick Mathewson2009-06-12
* Move the Libvent setup logic into compat_libevent from config.•••This has been some pretty ugly and voodoo-laden code. I've tried to clean it up a bit, but more work probably remains. Nick Mathewson2009-06-12
* Update Tor to use Libevent 2.0 APIs when available.•••This patch adds a new compat_libevent.[ch] set of files, and moves our Libevent compatibility and utilitity functions there. We build them into a separate .a so that nothing else in src/commmon depends on Libevent (partially fixing bug 507). Also, do not use our own built-in evdns copy when we have Libevent 2.0, whose evdns is finally good enough (thus fixing Bug 920). Nick Mathewson2009-06-12