You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ge...@apache.org on 2010/02/24 19:48:52 UTC
svn commit: r915922 [1/14] - in /incubator/trafficserver/traffic/trunk: ./
install/ iocore/aio/ iocore/block-cache/ iocore/cache/ iocore/cluster/
iocore/dns/ iocore/eventsystem/ iocore/hostdb/ iocore/net/ iocore/utils/
libev/ libev/CVS/ libinktomi++/ l...
Author: georgep
Date: Wed Feb 24 18:48:42 2010
New Revision: 915922
URL: http://svn.apache.org/viewvc?rev=915922&view=rev
Log:
Merged traffic-branchdev(trafficserver/traffic/branches/dev) changes r891822:915884 into trunk.
Tested: ubuntu904, forward and reverse proxy.
Added:
incubator/trafficserver/traffic/trunk/iocore/cache/CacheTest.cc
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/iocore/cache/CacheTest.cc
incubator/trafficserver/traffic/trunk/libev/
- copied from r915885, incubator/trafficserver/traffic/branches/dev/libev/
incubator/trafficserver/traffic/trunk/libev/CVS/
- copied from r915885, incubator/trafficserver/traffic/branches/dev/libev/CVS/
incubator/trafficserver/traffic/trunk/libev/CVS/Entries
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/CVS/Entries
incubator/trafficserver/traffic/trunk/libev/CVS/Repository
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/CVS/Repository
incubator/trafficserver/traffic/trunk/libev/CVS/Root
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/CVS/Root
incubator/trafficserver/traffic/trunk/libev/Changes
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/Changes
incubator/trafficserver/traffic/trunk/libev/LICENSE
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/LICENSE
incubator/trafficserver/traffic/trunk/libev/Makefile.am
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/Makefile.am
incubator/trafficserver/traffic/trunk/libev/README
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/README
incubator/trafficserver/traffic/trunk/libev/README.embed
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/README.embed
incubator/trafficserver/traffic/trunk/libev/README.trafficserver
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/README.trafficserver
incubator/trafficserver/traffic/trunk/libev/Symbols.ev
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/Symbols.ev
incubator/trafficserver/traffic/trunk/libev/Symbols.event
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/Symbols.event
incubator/trafficserver/traffic/trunk/libev/autogen.sh
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/autogen.sh
incubator/trafficserver/traffic/trunk/libev/configure.ac
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/configure.ac
incubator/trafficserver/traffic/trunk/libev/configure.trafficserver
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/configure.trafficserver
incubator/trafficserver/traffic/trunk/libev/ev++.h
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev++.h
incubator/trafficserver/traffic/trunk/libev/ev.3
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev.3
incubator/trafficserver/traffic/trunk/libev/ev.c
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev.c
incubator/trafficserver/traffic/trunk/libev/ev.h
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev.h
incubator/trafficserver/traffic/trunk/libev/ev.pod
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev.pod
incubator/trafficserver/traffic/trunk/libev/ev_epoll.c
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev_epoll.c
incubator/trafficserver/traffic/trunk/libev/ev_kqueue.c
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev_kqueue.c
incubator/trafficserver/traffic/trunk/libev/ev_poll.c
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev_poll.c
incubator/trafficserver/traffic/trunk/libev/ev_port.c
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev_port.c
incubator/trafficserver/traffic/trunk/libev/ev_select.c
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev_select.c
incubator/trafficserver/traffic/trunk/libev/ev_vars.h
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev_vars.h
incubator/trafficserver/traffic/trunk/libev/ev_win32.c
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev_win32.c
incubator/trafficserver/traffic/trunk/libev/ev_wrap.h
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/ev_wrap.h
incubator/trafficserver/traffic/trunk/libev/event.c
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/event.c
incubator/trafficserver/traffic/trunk/libev/event.h
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/event.h
incubator/trafficserver/traffic/trunk/libev/event_compat.h
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/event_compat.h
incubator/trafficserver/traffic/trunk/libev/import_libevent
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/import_libevent
incubator/trafficserver/traffic/trunk/libev/libev.m4
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/libev.m4
incubator/trafficserver/traffic/trunk/libev/update_ev_wrap
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/update_ev_wrap
incubator/trafficserver/traffic/trunk/libev/update_symbols
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libev/update_symbols
incubator/trafficserver/traffic/trunk/libinktomi++/ink_config.h
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_config.h
incubator/trafficserver/traffic/trunk/proxy/ProxyConfig.cc
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/proxy/ProxyConfig.cc
incubator/trafficserver/traffic/trunk/proxy/ProxyConfig.h
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/proxy/ProxyConfig.h
incubator/trafficserver/traffic/trunk/proxy/RegressionSM.cc
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/proxy/RegressionSM.cc
incubator/trafficserver/traffic/trunk/proxy/RegressionSM.h
- copied unchanged from r915885, incubator/trafficserver/traffic/branches/dev/proxy/RegressionSM.h
Removed:
incubator/trafficserver/traffic/trunk/iocore/cache/Inline.cc
incubator/trafficserver/traffic/trunk/iocore/cache/cache_test.config
incubator/trafficserver/traffic/trunk/iocore/dns/Inline.cc
incubator/trafficserver/traffic/trunk/iocore/eventsystem/Inline.cc
incubator/trafficserver/traffic/trunk/iocore/hostdb/Inline.cc
incubator/trafficserver/traffic/trunk/iocore/net/Inline.cc
incubator/trafficserver/traffic/trunk/proxy/Config.cc
incubator/trafficserver/traffic/trunk/proxy/Config.h
incubator/trafficserver/traffic/trunk/proxy/cache_test.config
Modified:
incubator/trafficserver/traffic/trunk/ (props changed)
incubator/trafficserver/traffic/trunk/.gitignore
incubator/trafficserver/traffic/trunk/Makefile.am
incubator/trafficserver/traffic/trunk/configure.ac
incubator/trafficserver/traffic/trunk/install/Makefile.am
incubator/trafficserver/traffic/trunk/install/update_records.cc
incubator/trafficserver/traffic/trunk/iocore/aio/AIO.cc
incubator/trafficserver/traffic/trunk/iocore/aio/I_AIO.h
incubator/trafficserver/traffic/trunk/iocore/aio/P_AIO.h
incubator/trafficserver/traffic/trunk/iocore/block-cache/BlockCacheSegmentVConnection.cc
incubator/trafficserver/traffic/trunk/iocore/cache/Cache.cc
incubator/trafficserver/traffic/trunk/iocore/cache/CacheDir.cc
incubator/trafficserver/traffic/trunk/iocore/cache/CacheDisk.cc
incubator/trafficserver/traffic/trunk/iocore/cache/CacheHttp.cc
incubator/trafficserver/traffic/trunk/iocore/cache/CacheLink.cc
incubator/trafficserver/traffic/trunk/iocore/cache/CachePages.cc
incubator/trafficserver/traffic/trunk/iocore/cache/CachePagesInternal.cc
incubator/trafficserver/traffic/trunk/iocore/cache/CachePart.cc
incubator/trafficserver/traffic/trunk/iocore/cache/CacheRead.cc
incubator/trafficserver/traffic/trunk/iocore/cache/CacheWrite.cc
incubator/trafficserver/traffic/trunk/iocore/cache/I_Cache.h
incubator/trafficserver/traffic/trunk/iocore/cache/I_CacheDefs.h
incubator/trafficserver/traffic/trunk/iocore/cache/Makefile.am
incubator/trafficserver/traffic/trunk/iocore/cache/NewCacheVC.cc
incubator/trafficserver/traffic/trunk/iocore/cache/NewCacheVC.h
incubator/trafficserver/traffic/trunk/iocore/cache/P_Cache.h
incubator/trafficserver/traffic/trunk/iocore/cache/P_CacheDir.h
incubator/trafficserver/traffic/trunk/iocore/cache/P_CacheDisk.h
incubator/trafficserver/traffic/trunk/iocore/cache/P_CacheHttp.h
incubator/trafficserver/traffic/trunk/iocore/cache/P_CacheInternal.h
incubator/trafficserver/traffic/trunk/iocore/cache/P_CachePart.h
incubator/trafficserver/traffic/trunk/iocore/cache/P_CacheTest.h
incubator/trafficserver/traffic/trunk/iocore/cache/P_RamCache.h
incubator/trafficserver/traffic/trunk/iocore/cache/RamCache.cc
incubator/trafficserver/traffic/trunk/iocore/cache/Store.cc
incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterCache.cc
incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterConfig.cc
incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterHandler.cc
incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterHandlerBase.cc
incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterMachine.cc
incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterProcessor.cc
incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterVConnection.cc
incubator/trafficserver/traffic/trunk/iocore/cluster/Makefile.am
incubator/trafficserver/traffic/trunk/iocore/cluster/P_Cluster.h
incubator/trafficserver/traffic/trunk/iocore/cluster/P_ClusterCache.h
incubator/trafficserver/traffic/trunk/iocore/cluster/P_ClusterCacheInternal.h
incubator/trafficserver/traffic/trunk/iocore/dns/DNS.cc
incubator/trafficserver/traffic/trunk/iocore/dns/DNSConnection.cc
incubator/trafficserver/traffic/trunk/iocore/dns/I_DNS.h
incubator/trafficserver/traffic/trunk/iocore/dns/Makefile.am
incubator/trafficserver/traffic/trunk/iocore/dns/P_DNS.h
incubator/trafficserver/traffic/trunk/iocore/dns/P_DNSConnection.h
incubator/trafficserver/traffic/trunk/iocore/dns/P_DNSProcessor.h
incubator/trafficserver/traffic/trunk/iocore/dns/P_SplitDNS.h
incubator/trafficserver/traffic/trunk/iocore/dns/SRV.cc
incubator/trafficserver/traffic/trunk/iocore/dns/SRV.h
incubator/trafficserver/traffic/trunk/iocore/dns/SplitDNS.cc
incubator/trafficserver/traffic/trunk/iocore/eventsystem/IOBuffer.cc
incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_EThread.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_EventSystem.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_IOBuffer.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_ProtectedQueue.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_SocketManager.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_Thread.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_VConnection.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_VIO.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/Makefile.am
incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_EventSystem.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_ProtectedQueue.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_Thread.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_UnixEThread.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_UnixEvent.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_UnixEventProcessor.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_UnixSocketManager.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_VConnection.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_VIO.h
incubator/trafficserver/traffic/trunk/iocore/eventsystem/Processor.cc
incubator/trafficserver/traffic/trunk/iocore/eventsystem/ProtectedQueue.cc
incubator/trafficserver/traffic/trunk/iocore/eventsystem/SocketManager.cc
incubator/trafficserver/traffic/trunk/iocore/eventsystem/UnixEThread.cc
incubator/trafficserver/traffic/trunk/iocore/hostdb/HostDB.cc
incubator/trafficserver/traffic/trunk/iocore/hostdb/I_HostDB.h
incubator/trafficserver/traffic/trunk/iocore/hostdb/Makefile.am
incubator/trafficserver/traffic/trunk/iocore/hostdb/MultiCache.cc
incubator/trafficserver/traffic/trunk/iocore/hostdb/P_HostDB.h
incubator/trafficserver/traffic/trunk/iocore/hostdb/P_HostDBProcessor.h
incubator/trafficserver/traffic/trunk/iocore/hostdb/P_MultiCache.h
incubator/trafficserver/traffic/trunk/iocore/net/Connection.cc
incubator/trafficserver/traffic/trunk/iocore/net/DetailedLog.cc
incubator/trafficserver/traffic/trunk/iocore/net/I_Net.h
incubator/trafficserver/traffic/trunk/iocore/net/I_NetConfig.h
incubator/trafficserver/traffic/trunk/iocore/net/I_NetVConnection.h
incubator/trafficserver/traffic/trunk/iocore/net/I_UDPConnection.h
incubator/trafficserver/traffic/trunk/iocore/net/I_UDPPacket.h
incubator/trafficserver/traffic/trunk/iocore/net/Makefile.am
incubator/trafficserver/traffic/trunk/iocore/net/NetConfig.cc
incubator/trafficserver/traffic/trunk/iocore/net/P_Connection.h
incubator/trafficserver/traffic/trunk/iocore/net/P_LibBulkIO.h
incubator/trafficserver/traffic/trunk/iocore/net/P_Net.h
incubator/trafficserver/traffic/trunk/iocore/net/P_NetAccept.h
incubator/trafficserver/traffic/trunk/iocore/net/P_NetVConnection.h
incubator/trafficserver/traffic/trunk/iocore/net/P_SSLConfig.h
incubator/trafficserver/traffic/trunk/iocore/net/P_SSLNetAccept.h
incubator/trafficserver/traffic/trunk/iocore/net/P_SSLNetProcessor.h
incubator/trafficserver/traffic/trunk/iocore/net/P_SSLNetVConnection.h
incubator/trafficserver/traffic/trunk/iocore/net/P_UDPConnection.h
incubator/trafficserver/traffic/trunk/iocore/net/P_UDPNet.h
incubator/trafficserver/traffic/trunk/iocore/net/P_UDPPacket.h
incubator/trafficserver/traffic/trunk/iocore/net/P_UnixNet.h
incubator/trafficserver/traffic/trunk/iocore/net/P_UnixNetProcessor.h
incubator/trafficserver/traffic/trunk/iocore/net/P_UnixNetVConnection.h
incubator/trafficserver/traffic/trunk/iocore/net/P_UnixPollDescriptor.h
incubator/trafficserver/traffic/trunk/iocore/net/P_UnixUDPConnection.h
incubator/trafficserver/traffic/trunk/iocore/net/SSLCertLookup.cc
incubator/trafficserver/traffic/trunk/iocore/net/SSLConfig.cc
incubator/trafficserver/traffic/trunk/iocore/net/SSLNet.cc
incubator/trafficserver/traffic/trunk/iocore/net/SSLNetVConnection.cc
incubator/trafficserver/traffic/trunk/iocore/net/SSLUnixNet.cc
incubator/trafficserver/traffic/trunk/iocore/net/UnixConnection.cc
incubator/trafficserver/traffic/trunk/iocore/net/UnixNet.cc
incubator/trafficserver/traffic/trunk/iocore/net/UnixNetAccept.cc
incubator/trafficserver/traffic/trunk/iocore/net/UnixNetPages.cc
incubator/trafficserver/traffic/trunk/iocore/net/UnixNetProcessor.cc
incubator/trafficserver/traffic/trunk/iocore/net/UnixNetVConnection.cc
incubator/trafficserver/traffic/trunk/iocore/net/UnixUDPConnection.cc
incubator/trafficserver/traffic/trunk/iocore/net/UnixUDPNet.cc
incubator/trafficserver/traffic/trunk/iocore/utils/MTInteractor.cc
incubator/trafficserver/traffic/trunk/iocore/utils/OpQueue.cc
incubator/trafficserver/traffic/trunk/libinktomi++/Arena.cc
incubator/trafficserver/traffic/trunk/libinktomi++/Compatability.h
incubator/trafficserver/traffic/trunk/libinktomi++/Diags.cc
incubator/trafficserver/traffic/trunk/libinktomi++/Diags.h
incubator/trafficserver/traffic/trunk/libinktomi++/DynArray.h
incubator/trafficserver/traffic/trunk/libinktomi++/HostLookup.cc
incubator/trafficserver/traffic/trunk/libinktomi++/INK_MD5.h
incubator/trafficserver/traffic/trunk/libinktomi++/InkTime.cc
incubator/trafficserver/traffic/trunk/libinktomi++/List.h
incubator/trafficserver/traffic/trunk/libinktomi++/Makefile.am
incubator/trafficserver/traffic/trunk/libinktomi++/Regex.cc
incubator/trafficserver/traffic/trunk/libinktomi++/Regex.h
incubator/trafficserver/traffic/trunk/libinktomi++/Regression.cc
incubator/trafficserver/traffic/trunk/libinktomi++/Regression.h
incubator/trafficserver/traffic/trunk/libinktomi++/SimpleDBM.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_bool.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_defs.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_defs.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_error.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_file.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_hrtime.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_inet.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_killall.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_killall.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_llqueue.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_memory.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_mutex.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_platform.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_port.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_pread_linux.c
incubator/trafficserver/traffic/trunk/libinktomi++/ink_queue.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_queue.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_queue_utils.c
incubator/trafficserver/traffic/trunk/libinktomi++/ink_regex-3.6.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_res_init.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_res_mkquery.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_resolver.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_rwlock.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_snprintf.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_sock.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_stack_trace.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_string.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_thread.h
incubator/trafficserver/traffic/trunk/libinktomi++/ink_time.cc
incubator/trafficserver/traffic/trunk/libinktomi++/inktomi++.h
incubator/trafficserver/traffic/trunk/libinktomi++/llqueue.cc
incubator/trafficserver/traffic/trunk/libinktomi++/llqueue.h
incubator/trafficserver/traffic/trunk/libinktomi++/lockfile.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ptrdef.h
incubator/trafficserver/traffic/trunk/libinktomi++/test_freelist.cc
incubator/trafficserver/traffic/trunk/librecords/RecCompatibility.cc
incubator/trafficserver/traffic/trunk/librecords/RecCore.cc
incubator/trafficserver/traffic/trunk/librecords/RecLocal.cc
incubator/trafficserver/traffic/trunk/librecords/RecMessage.cc
incubator/trafficserver/traffic/trunk/librecords/RecMutex.cc
incubator/trafficserver/traffic/trunk/librecords/RecProcess.cc
incubator/trafficserver/traffic/trunk/librecords/RecTree.cc
incubator/trafficserver/traffic/trunk/librecords/RecUtils.cc
incubator/trafficserver/traffic/trunk/m4/tcl.m4
incubator/trafficserver/traffic/trunk/proxy/AbstractBuffer.cc
incubator/trafficserver/traffic/trunk/proxy/CacheControl.cc
incubator/trafficserver/traffic/trunk/proxy/CacheInspectorAllow.cc
incubator/trafficserver/traffic/trunk/proxy/ControlBase.cc
incubator/trafficserver/traffic/trunk/proxy/ControlMatcher.cc
incubator/trafficserver/traffic/trunk/proxy/CoreUtils.cc
incubator/trafficserver/traffic/trunk/proxy/CoreUtils.h
incubator/trafficserver/traffic/trunk/proxy/DiagsConfig.cc
incubator/trafficserver/traffic/trunk/proxy/EventName.cc
incubator/trafficserver/traffic/trunk/proxy/ICP.cc
incubator/trafficserver/traffic/trunk/proxy/ICPConfig.cc
incubator/trafficserver/traffic/trunk/proxy/IPAllow.cc
incubator/trafficserver/traffic/trunk/proxy/Initialize.cc
incubator/trafficserver/traffic/trunk/proxy/InkAPI.cc
incubator/trafficserver/traffic/trunk/proxy/InkAPIInternal.h
incubator/trafficserver/traffic/trunk/proxy/InkAPITest.cc
incubator/trafficserver/traffic/trunk/proxy/InkXml.cc
incubator/trafficserver/traffic/trunk/proxy/Main.cc
incubator/trafficserver/traffic/trunk/proxy/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/MuxVC.cc
incubator/trafficserver/traffic/trunk/proxy/MuxVC.h
incubator/trafficserver/traffic/trunk/proxy/ParentSelection.cc
incubator/trafficserver/traffic/trunk/proxy/ParentSelection.h
incubator/trafficserver/traffic/trunk/proxy/Plugin.cc
incubator/trafficserver/traffic/trunk/proxy/PluginDB.cc
incubator/trafficserver/traffic/trunk/proxy/PluginVC.cc
incubator/trafficserver/traffic/trunk/proxy/PluginVC.h
incubator/trafficserver/traffic/trunk/proxy/ReverseProxy.cc
incubator/trafficserver/traffic/trunk/proxy/SimpleHttp.cc
incubator/trafficserver/traffic/trunk/proxy/SocksProxy.cc
incubator/trafficserver/traffic/trunk/proxy/StatPages.cc
incubator/trafficserver/traffic/trunk/proxy/StatSystem.cc
incubator/trafficserver/traffic/trunk/proxy/TestHook.cc
incubator/trafficserver/traffic/trunk/proxy/Transform.cc
incubator/trafficserver/traffic/trunk/proxy/TransformInternal.h
incubator/trafficserver/traffic/trunk/proxy/Update.cc
incubator/trafficserver/traffic/trunk/proxy/Update.h
incubator/trafficserver/traffic/trunk/proxy/api/include/InkAPIPrivateIOCore.h
incubator/trafficserver/traffic/trunk/proxy/config/storage.config
incubator/trafficserver/traffic/trunk/proxy/congest/Congestion.cc
incubator/trafficserver/traffic/trunk/proxy/congest/CongestionTest.cc
incubator/trafficserver/traffic/trunk/proxy/congest/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/cust_log_fmt_cnvrt.cc
incubator/trafficserver/traffic/trunk/proxy/dns_cache/DNS_cache.cc
incubator/trafficserver/traffic/trunk/proxy/hdrs/HTTP.cc
incubator/trafficserver/traffic/trunk/proxy/hdrs/HdrHeap.cc
incubator/trafficserver/traffic/trunk/proxy/hdrs/HdrTSOnly.cc
incubator/trafficserver/traffic/trunk/proxy/hdrs/HdrTest.cc
incubator/trafficserver/traffic/trunk/proxy/hdrs/HdrToken.cc
incubator/trafficserver/traffic/trunk/proxy/hdrs/HdrUtils.cc
incubator/trafficserver/traffic/trunk/proxy/hdrs/MIME.cc
incubator/trafficserver/traffic/trunk/proxy/hdrs/SDKAllocator.h
incubator/trafficserver/traffic/trunk/proxy/http2/Hash_Table.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpBodyFactory.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpCacheSM.h
incubator/trafficserver/traffic/trunk/proxy/http2/HttpClientSession.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpClientSession.h
incubator/trafficserver/traffic/trunk/proxy/http2/HttpConfig.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpConfig.h
incubator/trafficserver/traffic/trunk/proxy/http2/HttpDebugNames.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpProxyServerMain.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpSM.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpServerSession.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpServerSession.h
incubator/trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpTransact.h
incubator/trafficserver/traffic/trunk/proxy/http2/HttpTransactCache.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpTransactHeaders.cc
incubator/trafficserver/traffic/trunk/proxy/http2/HttpTunnel.cc
incubator/trafficserver/traffic/trunk/proxy/http2/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/http2/remap/UrlMappingPathIndex.cc
incubator/trafficserver/traffic/trunk/proxy/http2/remap/UrlRewrite.cc
incubator/trafficserver/traffic/trunk/proxy/http2/remap/UrlRewrite.h
incubator/trafficserver/traffic/trunk/proxy/logcat.cc
incubator/trafficserver/traffic/trunk/proxy/logging/Log.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogAccess.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogAccessICP.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogBuffer.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogBuffer.h
incubator/trafficserver/traffic/trunk/proxy/logging/LogCollationClientSM.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogCollationHostSM.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogConfig.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogField.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogFieldAliasMap.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogFile.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogFilter.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogFormat.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogHost.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogStandalone.cc
incubator/trafficserver/traffic/trunk/proxy/logging/LogUtils.cc
incubator/trafficserver/traffic/trunk/proxy/logging/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/logstats.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/AddConfigFilesHere.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/Alarms.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/AutoConf.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/BaseManager.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/BaseRecords.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/FileManager.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/LMRecords.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/Main.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/MgmtDBM.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/MultiFile.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/ProcessManager.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/ProcessRecords.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/Rollback.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/StatAggregation.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/WebPluginList.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/CfgContextImpl.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/CfgContextManager.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/CfgContextUtils.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/CoreAPI.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/CoreAPI.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/EventCallback.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/EventCallback.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/EventControlMain.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/INKMgmtAPI.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/MgmtPlugin.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/NetworkUtilsLocal.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/TSControlMain.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/include/INKMgmtAPI.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/APITestCliRemote.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/CoreAPIRemote.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/EventRegistration.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/EventRegistration.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/NetworkUtilsRemote.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/NetworkUtilsRemote.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/CLI.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/CLIconfigure.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/CLIeventHandler.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/CLIhelp.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/CLIlineBuffer.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/CLIlineBuffer.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/CLImonitor.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/CliMain.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/FSM.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliDisplay.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/ConfigCmd.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/ConfigCmd.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/ConfigUpgradeReadCmd.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/ConfigUpgradeWriteCmd.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/cliMain.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/cli_scriptpaths.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cluster/ClusterCom.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cluster/VMap.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cluster/VMap.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cop/TrafficCop.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/html2/tune/navigation_tree.xmlcpp
incubator/trafficserver/traffic/trunk/proxy/mgmt2/preparse/IPRange.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/preparse/RemapReadConfig.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/preparse/StoreReadConfig.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/stats/StatProcessor.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/stats/StatType.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/stats/StatXML.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/ConfigAPI.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/ConfigAPI.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/McastSnoop.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/NetConfig.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/ShmemClean.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/SysAPI.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/SysAPI.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/VIPConfig.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/utils/EnvBlock.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/utils/IpLookup.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/utils/MgmtConverter.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/utils/MgmtPing.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/utils/MgmtSchema.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/utils/MgmtServerRPC.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/utils/MgmtUtils.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/utils/SimpleQueue.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/utils/SimpleQueue.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/utils/WebMgmtUtils.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/MgmtAllow.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebCompatibility.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebCompatibility.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebConfig.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebConfigRender.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebGlobals.h
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebHttp.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebHttpAuth.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebHttpContext.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebHttpLog.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebHttpMessage.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebHttpRender.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebHttpSession.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebHttpTree.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebIntrMain.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebOverview.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebReconfig.cc
incubator/trafficserver/traffic/trunk/proxy/mgmt2/web2/WebUtils.cc
incubator/trafficserver/traffic/trunk/proxy/signals.cc
incubator/trafficserver/traffic/trunk/proxy/stats/CoupledStats.cc
incubator/trafficserver/traffic/trunk/proxy/stats/CoupledStats.h
incubator/trafficserver/traffic/trunk/proxy/stats/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/stats/Stats.cc
Propchange: incubator/trafficserver/traffic/trunk/
------------------------------------------------------------------------------
svn:mergeinfo = /incubator/trafficserver/traffic/branches/dev:891823-915885
Modified: incubator/trafficserver/traffic/trunk/.gitignore
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/.gitignore?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/.gitignore (original)
+++ incubator/trafficserver/traffic/trunk/.gitignore Wed Feb 24 18:48:42 2010
@@ -13,6 +13,8 @@
/build-aux
/configure
/tags
+/stamp-h1
+/config.h
Makefile
config.log
Modified: incubator/trafficserver/traffic/trunk/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/Makefile.am?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/Makefile.am Wed Feb 24 18:48:42 2010
@@ -8,7 +8,6 @@
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
-#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
Modified: incubator/trafficserver/traffic/trunk/configure.ac
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/configure.ac?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/configure.ac (original)
+++ incubator/trafficserver/traffic/trunk/configure.ac Wed Feb 24 18:48:42 2010
@@ -23,6 +23,7 @@
# 4. CHECK FOR LIBRARIES
# 5. CHECK FOR HEADERS
# 6. OUTPUT FILES
+# 7. autoheader TEMPLATES
# -----------------------------------------------------------------------------
# 1. INITIALIZATION
@@ -33,6 +34,7 @@
AM_INIT_AUTOMAKE([-Wall -Werror foreign no-installinfo no-installman 1.9.2])
AC_CONFIG_SRCDIR([proxy/Main.cc])
AC_CONFIG_MACRO_DIR([m4])
+AM_CONFIG_HEADER([config.h])
#
# Host detection
@@ -52,16 +54,22 @@
freebsd*)
AC_DEFINE_UNQUOTED([HOST_OS],[freebsd])
AC_DEFINE_UNQUOTED([freebsd],[1])
- LDFLAGS="${LDFLAGS} -L/usr/local/lib"
;;
- *) AC_DEFINE_UNQUOTED([HOST_OS],[unknown]) ;;
+ solaris*)
+ AC_DEFINE_UNQUOTED([HOST_OS],[solaris])
+ AC_DEFINE_UNQUOTED([solaris],[1])
+ ;;
+ *)
+ AC_DEFINE_UNQUOTED([HOST_OS],[unknown])
+ ;;
esac
#
# Build environment
#
-build_person="`whoami`"
+build_person="`id -nu`"
+build_group="`id -ng`"
build_machine="`uname -n`"
AC_DEFINE_UNQUOTED(BUILD_PERSON, "$build_person")
AC_DEFINE_UNQUOTED(BUILD_MACHINE, "$build_machine")
@@ -135,6 +143,19 @@
)
#
+# libev
+#
+
+AC_MSG_CHECKING([whether to use libev even if not required])
+AC_ARG_ENABLE([libev],
+ [AS_HELP_STRING([--enable-libev],[use libev even if not required])],
+ [],
+ [enable_libev=no]
+)
+AC_MSG_RESULT([$enable_libev])
+
+
+#
# Micro
#
@@ -183,7 +204,10 @@
AC_SUBST([ink_with_modules_local],[""])
AC_SUBST([ink_with_modules_process],[""])
],
- [AC_SUBST([IOCORE_MODULARIZED_DEFS],["-DFIXME_NONMODULAR -DSPLIT_DNS -DNON_MODULAR -DHTTP_CACHE"])
+ [AC_DEFINE([FIXME_NONMODULAR])
+ AC_DEFINE([SPLIT_DNS])
+ AC_DEFINE([NON_MODULAR])
+ AC_DEFINE([HTTP_CACHE])
AC_SUBST([ink_with_modules_def],["-DREC_BUILD_MGMT2"])
AC_SUBST([ink_with_modules_local],["-DLOCAL_MANAGER"])
AC_SUBST([ink_with_modules_process],["-DPROCESS_MANAGER"])
@@ -216,11 +240,9 @@
)
AC_MSG_RESULT([$enable_webui])
AS_IF([test "x$enable_webui" = "xno"],
- [AC_DEFINE([NO_WEBUI])
- ]
+ [AC_DEFINE([NO_WEBUI],1,[disable Web UI])]
)
-
#
# API
#
@@ -262,6 +284,7 @@
AS_IF([test "x$with_architecture" = "xyes"], [echo "--with-architecture needs an argument"; AS_EXIT()]
)
+
#
# DB support. By default, we require sqlite3, but we also optionally support BDB. You can
# disable / flip these behaviors with these flags.
@@ -285,6 +308,19 @@
)
AC_MSG_RESULT([$with_libdb])
+# Berkeley DB (bdb)
+AC_ARG_WITH([bdb],
+ [AC_HELP_STRING([--with-bdb=DIR],[Berkeley DB installation directory])],
+ [with_bdb=$withval],
+ [with_bdb=no]
+)
+
+if test "x$with_bdb" != "xno" ; then
+ PATH_BDB_INC="$with_bdb/include"
+ PATH_BDB_LIB="$with_bdb/lib"
+fi
+
+
# Make sure there is at least one supported backend DB for SimpleDBM
if test "${with_sqlite3}" = "no" -a "${with_libdb}" = "no"; then
AC_MSG_ERROR([Need at least one DB backend, --with-sqlite3 and --with-libdb are supported])
@@ -322,42 +358,31 @@
# 4) (in first kludge mode block...) obtain any further CFLAG-type additions.
# 5) Test compilers with all flags set.
-# These are shortcuts used in combination for the compiler options below
-common_opt="-pipe -Wall -Werror -Wno-char-subscripts -Wno-write-strings"
-debug_opt="-ggdb3 $common_opt"
-release_opt="-g $common_opt -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing"
-cxx_opt="-Wno-invalid-offsetof"
-
-cc_oflag_opt=$release_opt
-cc_oflag_dbg=$debug_opt
-cxx_oflag_opt="$release_opt $cxx_opt"
-cxx_oflag_dbg="$debug_opt $cxx_opt"
-
-CC=gcc
-CXX=g++
-
-SHARED_CFLAGS=-fPIC
-SHARED_LDFLAGS=-shared
-SHARED_CXXFLAGS=-fPIC
-SHARED_CXXLINKFLAGS=-shared
-
# AC_PROG can sometimes mangle CFLAGS etc.
# in particular, on Linux they insert -g -O2, here we preserve any user CFLAGS
+#CC=gcc
+#CXX=g++
+
REAL_CFLAGS="${CFLAGS}"
REAL_CXXFLAGS="${CXXFLAGS}"
REAL_CCASFLAGS="${CCASFLAGS}"
+AC_CHECK_PROG([CCACHE],[ccache],[ccache],[])
+AC_PROG_CC
+AC_PROG_CXX
+if test "x${CCACHE}" = "xccache" ;then
+ CC="$CCACHE $CC"
+ CXX="$CCACHE $CXX"
+fi
+AC_PROG_CPP
+AC_PROG_CXXCPP
AM_PROG_AS
AC_PROG_AWK
AC_PROG_LN_S
AC_PROG_INSTALL
AC_PROG_LIBTOOL
-CFLAGS="${REAL_CFLAGS}"
-CXXFLAGS="${REAL_CXXFLAGS}"
-CCASFLAGS="${REAL_CCASFLAGS}"
-
AC_PATH_PROG([DOXYGEN], [doxygen]) # needed for Doxygen
AC_PATH_PROG([PERL],[perl],[not found])
AS_IF([test "x$PERL" = "xnot found"],
@@ -366,7 +391,69 @@
AC_ARG_VAR([DOXYGEN], [full path of Doxygen executable])
AC_ARG_VAR([PERL], [full path of Perl executable])
-AC_CHECK_PROG([CCACHE],[ccache],[ccache],[])
+CFLAGS="${REAL_CFLAGS}"
+CXXFLAGS="${REAL_CXXFLAGS}"
+CCASFLAGS="${REAL_CCASFLAGS}"
+
+base_cc=`basename $CC`
+# These are shortcuts used in combination for the compiler options below
+case $host_os in
+ linux*)
+ common_opt="-pipe -Wall -Werror -Wno-char-subscripts -Wno-write-strings"
+ debug_opt="-ggdb3 $common_opt"
+ release_opt="-g $common_opt -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing"
+ cxx_opt="-Wno-invalid-offsetof"
+ ;;
+ darwin*)
+ common_opt="-pipe -Wall -Werror -Wno-char-subscripts -Wno-write-strings"
+ debug_opt="-ggdb3 $common_opt"
+ release_opt="-g $common_opt -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing"
+ cxx_opt="-Wno-invalid-offsetof"
+ CPPFLAGS="$CPPFLAGS -I/opt/local/include"
+ LDFLAGS="${LDFLAGS} -L/opt/local/lib"
+ ;;
+ freebsd*)
+ common_opt="-pipe -Wall -Werror -Wno-char-subscripts -Wno-write-strings"
+ debug_opt="-ggdb3 $common_opt"
+ release_opt="-g $common_opt -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing"
+ cxx_opt="-Wno-invalid-offsetof"
+ LDFLAGS="${LDFLAGS} -L/usr/local/lib"
+ ;;
+ solaris*)
+ if test "x${base_cc}" = "xcc" ;then
+ common_opt="-mt -m64 -D__WORDSIZE=64" # FIXME: This should be detected
+ debug_opt="-g $common_opt"
+ release_opt="-g $common_opt -xO3"
+ cxx_opt="-library=stlport4 -erroff"
+ AC_DEFINE([_POSIX_PTHREAD_SEMANTICS],1,
+ [posix thread semantics]
+ )
+ else # gcc
+ common_opt="-pipe -Wall -Werror -Wno-char-subscripts -Wno-write-strings"
+ debug_opt="-ggdb3 $common_opt"
+ release_opt="-g $common_opt -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing"
+ cxx_opt="-Wno-invalid-offsetof"
+ fi
+ LDFLAGS="${LDFLAGS} -L/lib -L/usr/local/lib"
+ ;;
+ *)
+ common_opt="-pipe -Wall -Werror -Wno-char-subscripts -Wno-write-strings"
+ debug_opt="-ggdb3 $common_opt"
+ release_opt="-g $common_opt -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing"
+ cxx_opt="-Wno-invalid-offsetof"
+ ;;
+esac
+
+cc_oflag_opt=$release_opt
+cc_oflag_dbg=$debug_opt
+cxx_oflag_opt="$release_opt $cxx_opt"
+cxx_oflag_dbg="$debug_opt $cxx_opt"
+
+SHARED_CFLAGS=-fPIC
+SHARED_LDFLAGS=-shared
+SHARED_CXXFLAGS=-fPIC
+SHARED_CXXLINKFLAGS=-shared
+
#
# Here are all the extra linux-specific C(XX)FLAGS additions and
@@ -383,18 +470,21 @@
AC_CHECK_SIZEOF(int *) # test for 64-bit pointers, this permits CFLAGS=-m32 for 32-bit compiles on 64-bit systems
# add a default march if there is not one set
-if test "${ac_cv_sizeof_int_p}" = "4"; then
- case $CFLAGS in
- *\-march=*) : ;;
- *) CFLAGS="$CFLAGS -march=i586" ;;
-esac
-
- case $CXXFLAGS in
- *\-march=*) : ;;
- *) CXXFLAGS="$CXXFLAGS -march=i586" ;;
-esac
+if test "x${GCC}" = "xyes"; then
+ if test "${ac_cv_sizeof_int_p}" = "4"; then
+ case $CFLAGS in
+ *\-march=*) : ;;
+ *) CFLAGS="$CFLAGS -march=i586" ;;
+ esac
+
+ case $CXXFLAGS in
+ *\-march=*) : ;;
+ *) CXXFLAGS="$CXXFLAGS -march=i586" ;;
+ esac
+ fi
fi
+# GCC atomics
AC_CACHE_CHECK([for gcc atomic builtins],[support_cv_atomic],
[AC_LINK_IFELSE([AC_LANG_PROGRAM([],[[
int i, x =0;
@@ -415,7 +505,18 @@
[Reentrant version of several functions get declared.]
)
-EXTRA_CXX_LDFLAGS="-rdynamic"
+case $host_os in
+ linux*)
+ EXTRA_CXX_LDFLAGS="-rdynamic"
+ ;;
+ darwin*)
+ ;;
+ solaris*)
+ ;;
+ *)
+ EXTRA_CXX_LDFLAGS="-rdynamic"
+ ;;
+esac
#
# _Here_ is where we go ahead and add the _optimizations_ to already
@@ -436,13 +537,6 @@
# Note: This macro may set certain parameters when run.
#
-AC_PROG_CC
-AC_PROG_CXX
-CC="$CCACHE $CC"
-CXX="$CCACHE $CXX"
-
-AC_PROG_CPP
-AC_PROG_CXXCPP
# -----------------------------------------------------------------------------
# 4. CHECK FOR LIBRARIES
@@ -462,13 +556,15 @@
AC_CHECK_LIB([rt],[clock_gettime],[AC_SUBST([LIBRT],["-lrt"])])
AC_CHECK_LIB([posix4],[clock_gettime],[AC_SUBST([LIBRT],["-lposix4"])])
AC_CHECK_LIB([iconv],[iconv_open],[AC_SUBST([LIBICONV],["-liconv"])])
+AC_CHECK_LIB([iconv],[libiconv_open],[AC_SUBST([LIBICONV],["-liconv"])])
+AC_CHECK_LIB([ev],[ev_sleep],[AC_SUBST([LIBEV],["-lev"])])
AC_CHECK_LIB([ssl],[SSL_CTX_new],
[AC_SUBST([LIBSSL],["-lssl -lcrypto"])
AC_DEFINE([HAVE_LIBSSL],[1],[Define if you have libssl])
],
[AC_MSG_FAILURE([check for libssl failed. Have you installed openssl-devel?])],
- [-lcrypto -lgcc]
+ [-lcrypto]
)
#
@@ -482,8 +578,26 @@
SC_LOAD_TCLCONFIG
# expect tclConfig.sh to populate TCL_LIB_FLAG and TCL_INCLUDE_SPEC
+case $host_os in
+ darwin*)
+ TCL_LIB_FLAG="-ltcl" # OSX fails to populate this variable
+ ;;
+ *)
+ ;;
+esac
AC_SUBST([LIBTCL],[$TCL_LIB_FLAG])
-CPPFLAGS="$CPPFLAGS $TCL_INCLUDE_SPEC"
+
+case $host_os in
+ freebsd*)
+ CPPFLAGS="$CPPFLAGS -I/usr/local/include $TCL_INCLUDE_SPEC"
+ ;;
+ solaris*)
+ CPPFLAGS="$CPPFLAGS -I/usr/local/include $TCL_INCLUDE_SPEC"
+ ;;
+ *)
+ CPPFLAGS="$CPPFLAGS $TCL_INCLUDE_SPEC"
+ ;;
+esac
AC_CHECK_LIB([expat],[XML_SetUserData],
[AC_SUBST([LIBEXPAT],["-lexpat"])],
@@ -499,41 +613,82 @@
)
fi
+
if test "x${with_libdb}" = "xyes"; then
+ # Berkeley DB check:
+ # TODO: Better checking for versions/directories similar to TCL
ts_have_db=0
+ save_LDFLAGS="$LDFLAGS"
+ save_CPPFLAGS="$CPPFLAGS"
+ if test "x$with_bdb" != "xno" ; then
+ case $host_os in
+ solaris*)
+ LDFLAGS="$LDFLAGS -L$PATH_BDB_LIB -R$PATH_BDB_LIB"
+ CPPFLAGS="$CPPFLAGS -I$PATH_BDB_INC"
+ ;;
+ *)
+ LDFLAGS="$LDFLAGS -L$PATH_BDB_LIB"
+ CPPFLAGS="$CPPFLAGS -I$PATH_BDB_INC"
+ ;;
+ esac
+ fi
+
+ AC_CHECK_LIB([db],[__db_open],
+ [LIBDB="-ldb"
+ ts_have_db=1
+ ],
+ [AC_MSG_WARN([check for libdb failed. Have you installed Berkeley DB e.g. BerkeleyDB.4.7?])
+ LDFLAGS="$save_LDFLAGS"
+ CPPFLAGS="$save_CPPFLAGS"
+ ]
+ )
+
AC_CHECK_LIB([db],[__db185_open],
[LIBDB="-ldb"
+ ts_have_db=1
],
[AC_MSG_WARN([check for libdb failed. Have you installed db4-devel?])]
)
AC_CHECK_LIB([c],[dbopen],
[LIBDB=""
+ ts_have_db=1
])
AC_SUBST([LIBDB])
+
+ if test "$ts_have_db" = "0"; then
+ AC_MSG_FAILURE([No DB interface found, try specifying --with-bdb=<Berkeley DB DIR>])
+ fi
fi
-#if test "$ts_have_db" = "0"; then
-# AC_MSG_FAILURE([No DB interface found])
-#fi
+AC_CHECK_FUNCS([clock_gettime kqueue epoll_ctl posix_memalign lrand48_r srand48_r eventfd port_create])
+
AC_CHECK_LIB([pcre], [pcre_exec],
[AC_SUBST([LIBPCRE],["-lpcre"])],
[AC_MSG_FAILURE([check for pcre failed. Have you installed pcre-devel?])],
)
-AC_CHECK_FUNCS([clock_gettime kqueue epoll_ctl posix_memalign lrand48_r srand48_r])
-
-if test "$ac_cv_func_epoll_ctl" = "yes"; then
+if test "x$enable_libev" = "xyes"; then
+ AC_DEFINE([USE_LIBEV])
+ have_good_poller=1
+elif test "$ac_cv_func_epoll_ctl" = "yes"; then
AC_DEFINE([USE_EPOLL])
have_good_poller=1
+ AC_MSG_NOTICE([Using epoll event interface])
elif test "$ac_cv_func_kqueue" = "yes"; then
AC_DEFINE([USE_KQUEUE])
have_good_poller=1
+ AC_MSG_NOTICE([Using kqueue event interface])
+elif test "$ac_cv_func_port_create" = "yes"; then
+ AC_DEFINE([USE_PORT])
+ have_good_poller=1
+ AC_MSG_NOTICE([Using port event interface])
else
- AC_MSG_FAILURE([No suitable polling interface found])
+ AC_MSG_FAILURE([No suitable polling interface found])
fi
+
# For SunPro 5.2 - we need the demangle symbol for
# ink_stack_trace.cc in libinktomi++. Because this
# library is part of the SunPro distribution, we need
@@ -579,13 +734,16 @@
sys/sysinfo.h \
sys/sysctl.h \
sys/systeminfo.h \
- netinet/ip.h \
+ netinet/in.h \
+ netinet/in_systm.h \
sys/ioctl.h \
sys/byteorder.h \
sys/sockio.h \
sys/sysctl.h \
sys/sysinfo.h \
sys/systeminfo.h \
+ arpa/inet.h \
+ arpa/nameser.h \
arpa/nameser_compat.h \
execinfo.h \
netdb.h \
@@ -602,8 +760,38 @@
stropts.h \
sys/mount.h \
sys/param.h \
+ sys/sysmacros.h \
+ math.h \
+ net/ppp_defs.h \
], [], [])
+AC_CHECK_HEADERS([pcre/pcre.h],
+ [], [],[])
+
+AC_CHECK_HEADERS([netinet/ip.h], [], [],
+ [[#ifdef HAVE_SYS_TYPES_H
+ #include <sys/types.h>
+ #endif
+ #ifdef HAVE_NETINET_IN_H
+ #include <netinet/in.h>
+ #endif
+ ]])
+
+AC_CHECK_HEADERS([netinet/ip_icmp.h], [], [],
+ [[#ifdef HAVE_SYS_TYPES_H
+ #include <sys/types.h>
+ #endif
+ #ifdef HAVE_NETINET_IN_H
+ #include <netinet/in.h>
+ #endif
+ #ifdef HAVE_NETINET_IP_H
+ #include <netinet/ip.h>
+ #endif
+ #ifdef HAVE_NETINET_IN_SYSTM_H
+ #include <netinet/in_systm.h>
+ #endif
+ ]])
+
if test "x${with_libdb}" = "xyes"; then
AC_CHECK_HEADERS([db_185.h \
db.h \
@@ -622,14 +810,16 @@
# use modular IOCORE
#
iocore_include_dirs="-I\$(top_srcdir)/librecords \
- -I\$(top_srcdir)/iocore/utils \
- -I\$(top_srcdir)/iocore/cache \
- -I\$(top_srcdir)/iocore/net \
+ -I\$(top_srcdir)/libinktomi++ \
-I\$(top_srcdir)/iocore/eventsystem \
+ -I\$(top_srcdir)/iocore/net \
-I\$(top_srcdir)/iocore/aio \
- -I\$(top_srcdir)/iocore/dns \
-I\$(top_srcdir)/iocore/hostdb \
- -I\$(top_srcdir)/iocore/cluster"
+ -I\$(top_srcdir)/iocore/cache \
+ -I\$(top_srcdir)/iocore/cluster \
+ -I\$(top_srcdir)/iocore/utils \
+ -I\$(top_srcdir)/iocore/dns \
+ -I\$(top_srcdir)/libev"
AC_DEFINE([HTTP_CACHE])
@@ -640,6 +830,24 @@
MGMT_DEFS="$MGMT_DEFS -DMGMT_USE_SYSLOG"
+AC_MSG_NOTICE([Build using CC=$CC])
+AC_MSG_NOTICE([Build using CXX=$CXX])
+AC_MSG_NOTICE([Build using CPP=$CPP])
+AC_MSG_NOTICE([Build using CCAS=$CCAS])
+AC_MSG_NOTICE([Build using CFLAGS=$CFLAGS])
+AC_MSG_NOTICE([Build using SHARED_CFLAGS=$SHARED_CFLAGS])
+AC_MSG_NOTICE([Build using CXXFLAGS=$CXXFLAGS])
+AC_MSG_NOTICE([Build using SHARED_CXXFLAGS=$SHARED_CXXFLAGS])
+AC_MSG_NOTICE([Build using SHARED_CXXLINKFLAGS=$SHARED_LINKCXXFLAGS])
+AC_MSG_NOTICE([Build using CPPFLAGS=$CPPFLAGS])
+AC_MSG_NOTICE([Build using CCASFLAGS=$CCASFLAGS])
+AC_MSG_NOTICE([Build using LDFLAGS=$LDFLAGS])
+AC_MSG_NOTICE([Build using SHARED_LDFLAGS=$SHARED_LDFLAGS])
+AC_MSG_NOTICE([Build using EXTRA_CC_LDFLAGS=$EXTRA_CC_LDFLAGS])
+AC_MSG_NOTICE([Build using EXTRA_CXX_LDFLAGS=$EXTRA_CXX_LDFLAGS])
+AC_MSG_NOTICE([Build using MGMT_DEFS=$MGMT_DEFS])
+AC_MSG_NOTICE([Build using API_DEFS=$API_DEFS])
+
AC_SUBST([API_DEFS])
AC_SUBST([CC])
AC_SUBST([CFLAGS])
@@ -710,5 +918,51 @@
AC_CONFIG_FILES([proxy/mgmt2/web2/Makefile])
AC_CONFIG_FILES([proxy/stats/Makefile])
+# -----------------------------------------------------------------------------
+# 7. autoheader TEMPLATES
+
+AH_TEMPLATE([BUILD_MACHINE],[BUILD_MACHINE])
+AH_TEMPLATE([BUILD_PERSON],[BUILD_PERSON])
+AH_TEMPLATE([DEBUG],[DEBUG])
+AH_TEMPLATE([HAVE_DEMANGLE],[HAVE_DEMANGLE])
+AH_TEMPLATE([HOST_OS],[HOST_OS])
+AH_TEMPLATE([HTTP_CACHE],[HTTP_CACHE])
+AH_TEMPLATE([INKDISKAIO],[INKDISKAIO])
+AH_TEMPLATE([INK_NO_ACL],[INK_NO_ACL])
+AH_TEMPLATE([INK_NO_API],[INK_NO_API])
+AH_TEMPLATE([INK_NO_CLUSTER],[INK_NO_CLUSTER])
+AH_TEMPLATE([INK_NO_DIAGS],[INK_NO_DIAGS])
+AH_TEMPLATE([INK_NO_FTP],[INK_NO_FTP])
+AH_TEMPLATE([INK_NO_HOSTDB],[INK_NO_HOSTDB])
+AH_TEMPLATE([INK_NO_ICP],[INK_NO_ICP])
+AH_TEMPLATE([INK_NO_LOG],[INK_NO_LOG])
+AH_TEMPLATE([INK_NO_REMAP],[INK_NO_REMAP])
+AH_TEMPLATE([INK_NO_REVERSE],[INK_NO_REVERSE])
+AH_TEMPLATE([INK_NO_SOCKS],[INK_NO_SOCKS])
+AH_TEMPLATE([INK_NO_STAT_PAGES],[INK_NO_STAT_PAGES])
+AH_TEMPLATE([INK_NO_TESTS],[INK_NO_TESTS])
+AH_TEMPLATE([INK_NO_TRANSFORM],[INK_NO_TRANSFORM])
+AH_TEMPLATE([INK_SINGLE_THREADED],[INK_SINGLE_THREADED])
+AH_TEMPLATE([INK_USE_MUTEX_FOR_ATOMICLISTS],[INK_USE_MUTEX_FOR_ATOMICLISTS])
+AH_TEMPLATE([INK_USE_MUTEX_FOR_FREELISTS],[INK_USE_MUTEX_FOR_FREELISTS])
+AH_TEMPLATE([MODULARIZED],[MODULARIZED])
+AH_TEMPLATE([NEED_UNION_SEMUN],[NEED_UNION_SEMUN])
+AH_TEMPLATE([PURIFY],[PURIFY])
+AH_TEMPLATE([TS_MICRO],[TS_MICRO])
+AH_TEMPLATE([USE_DIAGS],[USE_DIAGS])
+AH_TEMPLATE([USE_EPOLL],[USE_EPOLL])
+AH_TEMPLATE([USE_KQUEUE],[USE_KQUEUE])
+AH_TEMPLATE([USE_LIBEV],[USE_LIBEV])
+AH_TEMPLATE([USE_MD5_FOR_MMH],[USE_MD5_FOR_MMH])
+AH_TEMPLATE([USE_PORT],[USE_PORT])
+AH_TEMPLATE([_NO_FREELIST],[_NO_FREELIST])
+AH_TEMPLATE([darwin],[darwin])
+AH_TEMPLATE([freebsd],[freebsd])
+AH_TEMPLATE([linux],[linux])
+AH_TEMPLATE([solaris],[solaris])
+AH_TEMPLATE([FIXME_NONMODULAR],[FIXME_NONMODULAR])
+AH_TEMPLATE([SPLIT_DNS],[SPLIT_DNS])
+AH_TEMPLATE([NON_MODULAR],[NON_MODULAR])
+
AC_OUTPUT
Modified: incubator/trafficserver/traffic/trunk/install/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/install/Makefile.am?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/install/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/install/Makefile.am Wed Feb 24 18:48:42 2010
@@ -35,5 +35,5 @@
update_records_LDADD = \
$(top_builddir)/proxy/mgmt2/librecords.a \
$(top_builddir)/libinktomi++/libinktomi++.a \
- @LIBTHREAD@ @LIBRT@ @LIBTCL@ @LIBDL@ @LIBSSL@
+ @LIBICONV@ @LIBTHREAD@ @LIBRT@ @LIBTCL@ @LIBDL@ @LIBSSL@
Modified: incubator/trafficserver/traffic/trunk/install/update_records.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/install/update_records.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/install/update_records.cc (original)
+++ incubator/trafficserver/traffic/trunk/install/update_records.cc Wed Feb 24 18:48:42 2010
@@ -41,6 +41,7 @@
*/
+#include "ink_config.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
Modified: incubator/trafficserver/traffic/trunk/iocore/aio/AIO.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/aio/AIO.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/aio/AIO.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/aio/AIO.cc Wed Feb 24 18:48:42 2010
@@ -21,32 +21,27 @@
limitations under the License.
*/
-/****************************************************************************
+/*
+ * Async Disk IO operations.
+ */
- Async Disk IO operations.
+#include "P_AIO.h"
-
-
- ****************************************************************************/
+#define MAX_DISKS_POSSIBLE 100
-#include "P_AIO.h"
// globals
-#define MAX_DISKS_POSSIBLE 100
-#define SLEEP_TIME 100
+int ts_config_with_inkdiskio = 0;
/* structure to hold information about each file descriptor */
AIO_Reqs *aio_reqs[MAX_DISKS_POSSIBLE];
-
+/* number of unique file descriptors in the aio_reqs array */
+volatile int num_filedes = 0;
RecRawStatBlock *aio_rsb = NULL;
// acquire this mutex before inserting a new entry in the aio_reqs array.
// Don't need to acquire this for searching the array
static ink_mutex insert_mutex;
-/* number of unique file descriptors in the aio_reqs array */
-volatile int num_filedes = 0;
Continuation *aio_err_callbck = 0;
-
RecInt cache_config_threads_per_disk = 12;
-static RecInt cache_config_aio_sleep_time = SLEEP_TIME;
// AIO Stats
inku64 aio_num_read = 0;
@@ -54,13 +49,14 @@
inku64 aio_num_write = 0;
inku64 aio_bytes_written = 0;
+static void aio_move(AIO_Reqs *req);
-////////////////////////////////////////////////////////////////////////
-//////// Stats Stuff //////
-////////////////////////////////////////////////////////////////////////
+/*
+ * Stats
+ */
static int
-aio_stats_cb(const char *name, RecDataT data_type, RecData * data, RecRawStatBlock * rsb, int id)
+aio_stats_cb(const char *name, RecDataT data_type, RecData *data, RecRawStatBlock *rsb, int id)
{
(void) data_type;
(void) rsb;
@@ -75,7 +71,6 @@
RecGetGlobalRawStatSum(aio_rsb, id, &sum);
RecGetGlobalRawStatCount(aio_rsb, id, &count);
-
ink64 time_diff = ink_hrtime_to_msec(now - count);
if (time_diff == 0) {
data->rec_float = 0.0;
@@ -85,18 +80,15 @@
case AIO_STAT_READ_PER_SEC:
new_val = aio_num_read;
break;
-
case AIO_STAT_WRITE_PER_SEC:
new_val = aio_num_write;
break;
-
case AIO_STAT_KB_READ_PER_SEC:
new_val = aio_bytes_read >> 10;
break;
case AIO_STAT_KB_WRITE_PER_SEC:
new_val = aio_bytes_written >> 10;
break;
-
default:
ink_assert(0);
}
@@ -117,13 +109,10 @@
int
AIOTestData::ink_aio_stats(int event, void *d)
{
-
ink_hrtime now = ink_get_hrtime();
double time_msec = (double) (now - start) / (double) HRTIME_MSECOND;
- for (int i = 0; i < num_filedes; i++) {
-
+ for (int i = 0; i < num_filedes; i++)
printf("%0.2f\t%i\t%i\t%i\n", time_msec, aio_reqs[i]->filedes, aio_reqs[i]->pending, aio_reqs[i]->queued);
- }
printf("Num Requests: %i Num Queued: %i num Moved: %i\n\n", data->num_req, data->num_queue, data->num_temp);
eventProcessor.schedule_in(this, HRTIME_MSECONDS(50), ET_CALL);
return EVENT_DONE;
@@ -131,9 +120,9 @@
#endif // AIO_STATS
-////////////////////////////////////////////////////////////////////////
-//////// Common Stuff //////
-////////////////////////////////////////////////////////////////////////
+/*
+ * Common
+ */
AIOCallback *
new_AIOCallback(void)
{
@@ -141,7 +130,7 @@
};
void
-ink_aio_set_callback(Continuation * callback)
+ink_aio_set_callback(Continuation *callback)
{
aio_err_callbck = callback;
}
@@ -166,12 +155,8 @@
ink_mutex_init(&insert_mutex, NULL);
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.threads_per_disk", 4, RECU_NULL, RECC_NULL, NULL);
IOCORE_ReadConfigInteger(cache_config_threads_per_disk, "proxy.config.cache.threads_per_disk");
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.aio_sleep_time", 100, RECU_DYNAMIC, RECC_NULL, NULL);
- IOCORE_ReadConfigInteger(cache_config_aio_sleep_time, "proxy.config.cache.aio_sleep_time");
}
-
int
ink_aio_start()
{
@@ -183,10 +168,6 @@
}
-////////////////////////////////////////////////////////////////////////
-//////// Unix Stuff //////
-////////////////////////////////////////////////////////////////////////
-
static void *aio_thread_main(void *arg);
struct AIOThreadInfo:public Continuation
@@ -195,7 +176,7 @@
AIO_Reqs *req;
int sleep_wait;
- int start(int event, Event * e)
+ int start(int event, Event *e)
{
(void) event;
(void) e;
@@ -203,7 +184,7 @@
return EVENT_DONE;
}
- AIOThreadInfo(AIO_Reqs * thr_req, int sleep):Continuation(new_ProxyMutex()), req(thr_req), sleep_wait(sleep)
+ AIOThreadInfo(AIO_Reqs *thr_req, int sleep):Continuation(new_ProxyMutex()), req(thr_req), sleep_wait(sleep)
{
SET_HANDLER(&AIOThreadInfo::start);
}
@@ -260,7 +241,7 @@
/* insert a request into either aio_todo or http_todo queue. aio_todo
list is kept sorted */
static void
-aio_insert(AIOCallback * op, AIO_Reqs * req)
+aio_insert(AIOCallback *op, AIO_Reqs *req)
{
#ifdef AIO_STATS
num_requests++;
@@ -286,22 +267,17 @@
/* Either the queue was empty or this request has the highest priority */
req->aio_todo.push(op);
-
}
- return;
-
}
/* move the request from the atomic list to the queue */
static void
-aio_move(AIO_Reqs * req)
+aio_move(AIO_Reqs *req)
{
AIOCallback *next = NULL, *prev = NULL, *cb = (AIOCallback *) ink_atomiclist_popall(&req->aio_temp_list);
/* flip the list */
-
if (!cb)
return;
-
while (cb->link.next) {
next = (AIOCallback *) cb->link.next;
cb->link.next = prev;
@@ -310,7 +286,6 @@
}
/* fix the last pointer */
cb->link.next = prev;
-
for (; cb; cb = next) {
next = (AIOCallback *) cb->link.next;
cb->link.next = NULL;
@@ -321,7 +296,7 @@
/* queue the new request */
static void
-aio_queue_req(AIOCallbackInternal * op)
+aio_queue_req(AIOCallbackInternal *op)
{
int thread_ndx = 0;
AIO_Reqs *req = op->aio_req;
@@ -334,19 +309,16 @@
/* search for the matching file descriptor */
for (; thread_ndx < num_filedes; thread_ndx++) {
if (aio_reqs[thread_ndx]->filedes == op->aiocb.aio_fildes) {
-
/* found the matching file descriptor */
req = aio_reqs[thread_ndx];
break;
}
}
-
if (!req) {
ink_mutex_acquire(&insert_mutex);
if (thread_ndx == num_filedes) {
/* insert a new entry */
req = aio_init_fildes(op->aiocb.aio_fildes);
-
} else {
/* a new entry was inserted between the time we checked the
aio_reqs and acquired the mutex. check the aio_reqs array to
@@ -358,13 +330,10 @@
break;
}
}
- if (!req) {
+ if (!req)
req = aio_init_fildes(op->aiocb.aio_fildes);
- }
-
}
ink_mutex_release(&insert_mutex);
-
}
op->aio_req = req;
}
@@ -379,30 +348,23 @@
#ifdef AIO_STATS
ink_atomic_increment(&data->num_queue, 1);
#endif
- if (!INK_ATOMICLIST_EMPTY(req->aio_temp_list)) {
+ if (!INK_ATOMICLIST_EMPTY(req->aio_temp_list))
aio_move(req);
- }
/* now put the new request */
aio_insert(op, req);
-
ink_cond_signal(&req->aio_cond);
ink_mutex_release(&req->aio_mutex);
}
}
static inline int
-cache_op(AIOCallbackInternal * op)
+cache_op(AIOCallbackInternal *op)
{
bool read = (op->aiocb.aio_lio_opcode == LIO_READ) ? 1 : 0;
for (; op; op = (AIOCallbackInternal *) op->then) {
ink_aiocb_t *a = &op->aiocb;
int err, res = 0;
-#ifdef DEBUG
- if (op->sleep_time) {
- ink_sleep(op->sleep_time);
- }
-#endif
while (a->aio_nbytes - res > 0) {
do {
if (read)
@@ -411,10 +373,8 @@
err = ink_pwrite(a->aio_fildes, ((char *) a->aio_buf) + res, a->aio_nbytes - res, a->aio_offset + res);
} while ((err < 0) && (errno == EINTR || errno == ENOBUFS || errno == ENOMEM));
if (err <= 0) {
-#ifdef DIAGS_MODULARIZED
Warning("cache disk operation failed %s %d %d\n",
(a->aio_lio_opcode == LIO_READ) ? "READ" : "WRITE", err, errno);
-#endif
op->aio_result = -errno;
return (err);
}
@@ -427,7 +387,7 @@
}
int
-ink_aio_read(AIOCallback * op)
+ink_aio_read(AIOCallback *op)
{
op->aiocb.aio_lio_opcode = LIO_READ;
switch (AIO_MODE) {
@@ -446,16 +406,15 @@
cache_op((AIOCallbackInternal *) op);
op->action.continuation->handleEvent(AIO_EVENT_DONE, op);
break;
- case AIO_MODE_THREAD:{
- aio_queue_req((AIOCallbackInternal *) op);
- break;
- }
+ case AIO_MODE_THREAD:
+ aio_queue_req((AIOCallbackInternal *) op);
+ break;
}
return 1;
}
int
-ink_aio_write(AIOCallback * op)
+ink_aio_write(AIOCallback *op)
{
op->aiocb.aio_lio_opcode = LIO_WRITE;
switch (AIO_MODE) {
@@ -474,10 +433,9 @@
cache_op((AIOCallbackInternal *) op);
op->action.continuation->handleEvent(AIO_EVENT_DONE, op);
break;
- case AIO_MODE_THREAD:{
- aio_queue_req((AIOCallbackInternal *) op);
- break;
- }
+ case AIO_MODE_THREAD:
+ aio_queue_req((AIOCallbackInternal *) op);
+ break;
}
return 1;
}
@@ -487,29 +445,22 @@
{
AIOThreadInfo *thr_info = (AIOThreadInfo *) arg;
AIO_Reqs *my_aio_req = (AIO_Reqs *) thr_info->req;
- int timed_wait = thr_info->sleep_wait;
AIO_Reqs *current_req = NULL;
AIOCallback *op = NULL;
ink_mutex_acquire(&my_aio_req->aio_mutex);
for (;;) {
do {
current_req = my_aio_req;
-
/* check if any pending requests on the atomic list */
-
- if (!INK_ATOMICLIST_EMPTY(my_aio_req->aio_temp_list)) {
+ if (!INK_ATOMICLIST_EMPTY(my_aio_req->aio_temp_list))
aio_move(my_aio_req);
- }
-
if (!(op = my_aio_req->aio_todo.pop()) && !(op = my_aio_req->http_aio_todo.pop()))
break;
-
#ifdef AIO_STATS
num_requests--;
current_req->queued--;
ink_atomic_increment((int *) ¤t_req->pending, 1);
#endif
-
// update the stats;
if (op->aiocb.aio_lio_opcode == LIO_WRITE) {
aio_num_write++;
@@ -533,44 +484,18 @@
#endif
op->link.prev = NULL;
op->link.next = NULL;
- // make op continuation share op->action's mutex
op->mutex = op->action.mutex;
- /* why do we callback on AIO thread only if its a write??
- See INKqa07855. The problem is that with a lot of users,
- the Net threads take a lot of time (as high as a second)
- to come back to ink_aio_complete. This means that the
- partition can only issue 1 i/o per second. To
- get around this problem, we have the aio threads callback
- the partitions directly. The partition issues another i/o
- on the same thread (assuming there is enough stuff to be
- written). The partition is careful not to callback the VC's
- and not schedule any events on the thread.
- It does not matter for reads because its generally the
- CacheVC's that issue reads and they have to do a fair
- bit of computation (go through the docheader, call http
- state machine back, etc) before they can issue another
- read.
- */
- if (op->aiocb.aio_lio_opcode == LIO_WRITE) {
- MUTEX_TRY_LOCK(lock, op->mutex, thr_info->mutex->thread_holding);
- if (!lock) {
- eventProcessor.schedule_imm(op);
- } else {
- if (!op->action.cancelled)
- op->action.continuation->handleEvent(AIO_EVENT_DONE, op);
- }
- } else {
+ if (op->thread == AIO_CALLBACK_THREAD_AIO) {
+ MUTEX_LOCK(lock, op->mutex, thr_info->mutex->thread_holding);
+ if (!op->action.cancelled)
+ op->action.continuation->handleEvent(AIO_EVENT_DONE, op);
+ } else if (op->thread == AIO_CALLBACK_THREAD_ANY)
eventProcessor.schedule_imm(op);
-
- }
+ else
+ op->thread->schedule_imm(op);
ink_mutex_acquire(&my_aio_req->aio_mutex);
-
} while (1);
- if (timed_wait) {
- timespec ts = ink_based_hrtime_to_timespec(ink_get_hrtime() + HRTIME_MSECONDS(cache_config_aio_sleep_time));
- ink_cond_timedwait(&my_aio_req->aio_cond, &my_aio_req->aio_mutex, &ts);
- } else
- ink_cond_wait(&my_aio_req->aio_cond, &my_aio_req->aio_mutex);
+ ink_cond_wait(&my_aio_req->aio_cond, &my_aio_req->aio_mutex);
}
return 0;
}
Modified: incubator/trafficserver/traffic/trunk/iocore/aio/I_AIO.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/aio/I_AIO.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/aio/I_AIO.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/aio/I_AIO.h Wed Feb 24 18:48:42 2010
@@ -31,10 +31,6 @@
#if !defined (_I_AIO_h_)
#define _I_AIO_h_
-#ifndef INK_INLINE
-#define INK_INLINE
-#endif
-
#include "inktomi++.h"
#include "I_EventSystem.h"
#include "I_RecProcess.h"
@@ -50,11 +46,14 @@
#define AIO_MODE_AIO 0
#define AIO_MODE_SYNC 1
#define AIO_MODE_THREAD 2
-#define AIO_MODE_INK 3
#define AIO_MODE AIO_MODE_THREAD
+// AIOCallback::thread special values
+#define AIO_CALLBACK_THREAD_ANY ((EThread*)0) // any regular event thread
+#define AIO_CALLBACK_THREAD_AIO ((EThread*)-1)
+
#define AIO_LOWEST_PRIORITY 0
-#define AIO_DEFAULT_PRIORITY AIO_LOWEST_PRIORTY
+#define AIO_DEFAULT_PRIORITY AIO_LOWEST_PRIORITY
struct AIOCallback:Continuation
{
@@ -67,8 +66,9 @@
int aio_result;
int ok();
- // AIOCallback();
- virtual void AIOCallback_is_an_abstract_class() = 0;
+ AIOCallback() : thread(AIO_CALLBACK_THREAD_ANY), then(0) {
+ aiocb.aio_reqprio = AIO_DEFAULT_PRIORITY;
+ }
};
void ink_aio_init(ModuleVersion version);
Modified: incubator/trafficserver/traffic/trunk/iocore/aio/P_AIO.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/aio/P_AIO.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/aio/P_AIO.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/aio/P_AIO.h Wed Feb 24 18:48:42 2010
@@ -31,15 +31,11 @@
#ifndef _P_AIO_h_
#define _P_AIO_h_
-#ifndef INLINE_CC
-#undef INK_INLINE
-#define INK_INLINE inline
-#endif
-
#include "P_EventSystem.h"
#include "I_AIO.h"
-// #define AIO_STATS
+// for debugging
+// #define AIO_STATS 1
#undef AIO_MODULE_VERSION
#define AIO_MODULE_VERSION makeModuleVersion(AIO_MODULE_MAJOR_VERSION,\
@@ -53,9 +49,6 @@
AIO_Reqs *aio_req;
ink_hrtime sleep_time;
int io_complete(int event, void *data);
- void AIOCallback_is_an_abstract_class()
- {
- }
AIOCallbackInternal()
{
const size_t to_zero = sizeof(AIOCallbackInternal)
@@ -67,13 +60,13 @@
}
};
-INK_INLINE int
+inline int
AIOCallback::ok()
{
return (ink_off_t) aiocb.aio_nbytes == (ink_off_t) aio_result;
};
-INK_INLINE int
+inline int
AIOCallbackInternal::io_complete(int event, void *data)
{
(void) event;
@@ -107,13 +100,14 @@
int num_temp;
int num_queue;
ink_hrtime start;
- AIOTestData():Continuation(new_ProxyMutex()), num_req(0), num_temp(0), num_queue(0)
+
+ int ink_aio_stats(int event, void *data);
+
+ AIOTestData():Continuation(new_ProxyMutex()), num_req(0), num_temp(0), num_queue(0)
{
start = ink_get_hrtime();
SET_HANDLER(&AIOTestData::ink_aio_stats);
}
-
- int ink_aio_stats(int event, void *data);
};
#endif
Modified: incubator/trafficserver/traffic/trunk/iocore/block-cache/BlockCacheSegmentVConnection.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/block-cache/BlockCacheSegmentVConnection.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/block-cache/BlockCacheSegmentVConnection.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/block-cache/BlockCacheSegmentVConnection.cc Wed Feb 24 18:48:42 2010
@@ -57,9 +57,9 @@
}
};
- virtual VIO *do_io_write(Continuation * c = NULL, int nbytes = 0, IOBufferReader * buf = NULL, bool owner = false);
+ virtual VIO *do_io_write(Continuation * c = NULL, ink64 nbytes = 0, IOBufferReader * buf = NULL, bool owner = false);
- virtual VIO *do_io_read(Continuation * c, int nbytes, MIOBuffer * buf);
+ virtual VIO *do_io_read(Continuation * c, ink64 nbytes, MIOBuffer * buf);
virtual void do_io_close(int err = -1) {
};
@@ -89,7 +89,7 @@
}
VIO *
-BCSV_impl::do_io_write(Continuation * c, int nbytes, IOBufferReader * buf, bool owner)
+BCSV_impl::do_io_write(Continuation * c, ink64 nbytes, IOBufferReader * buf, bool owner)
{
// call into BC_OpenSegment for io strategy
@@ -109,7 +109,7 @@
}
VIO *
-BCSV_impl::do_io_read(Continuation * c, int nbytes, MIOBuffer * buf)
+BCSV_impl::do_io_read(Continuation * c, ink64 nbytes, MIOBuffer * buf)
{
// call into BC_OpenSegment for io strategy