Modified: incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_llqueue.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/libinktomi%2B%2B/ink_llqueue.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_llqueue.h (original) +++ incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_llqueue.h Fri Dec 18 17:57:46 2009 @@ -45,7 +45,11 @@ LLQrec * head, *tail, *free; unsigned long len, highwater; ink_mutex mux; - ink_sem sema; +#if (HOST_OS == darwin) + ink_sem *sema; +#else /* !darwin */ + ink_sem sema; +#endif /* !darwin */ } LLQ; LLQ *create_queue(void);
Modified: incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_memory.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/libinktomi%2B%2B/ink_memory.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_memory.cc (original) +++ incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_memory.cc Fri Dec 18 17:57:46 2009 @@ -79,7 +79,8 @@ size = chunk_size * total_chunks; if (size > 0) { - if (!posix_memalign((void **) &heap, 8192, size)) { + heap = (char *)ink_memalign(8192, size); + if (heap != NULL) { for (int i = 0; i < total_chunks; i++) { MAMemChunk *mc = new MAMemChunk(); mc->next = chunk_list_free; @@ -296,7 +297,7 @@ #endif return (ptr); #else -#if (HOST_OS == freebsd) +#if (HOST_OS == freebsd) || (HOST_OS == darwin) /* * DEC malloc calims to align for "any allocatable type", * and the following code checks that. Modified: incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_platform.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/libinktomi%2B%2B/ink_platform.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_platform.h (original) +++ incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_platform.h Fri Dec 18 17:57:46 2009 @@ -151,9 +151,11 @@ # include <sys/sysinfo.h> #endif +#if (HOST_OS != darwin) #ifdef HAVE_SYS_SYSCTL_H # include <sys/sysctl.h> #endif +#endif #ifdef HAVE_SYS_SYSTEMINFO_H # include <sys/systeminfo.h> Modified: incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_port.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/libinktomi%2B%2B/ink_port.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_port.h (original) +++ incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_port.h Fri Dec 18 17:57:46 2009 @@ -90,6 +90,12 @@ #define MAXINT INT_MAX #endif +#if (HOST_OS == darwin) +#define NO_MEMALIGN +#define RENTRENT_GETHOSTBYNAME +#define RENTRENT_GETHOSTBYADDR +#endif + #define NUL '\0' // copy from ink_ntio.h Modified: incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_thread.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/libinktomi%2B%2B/ink_thread.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_thread.h (original) +++ incubator/trafficserver/traffic/branches/dev/libinktomi++/ink_thread.h Fri Dec 18 17:57:46 2009 @@ -225,6 +225,29 @@ ink_assert(!sem_destroy(sp)); } +#if (HOST_OS == darwin) +static inline ink_sem * +ink_sem_open(const char *name , int oflag, mode_t mode, unsigned int value) +{ + ink_sem *sptr; + sptr = sem_open(name, oflag, mode, value); + ink_assert(sptr != SEM_FAILED); + return sptr; +} + +static inline void +ink_sem_close(ink_sem * sp) +{ + ink_assert(!sem_close(sp)); +} + +static inline int +ink_sem_unlink(const char *name) +{ + return sem_unlink(name); +} +#endif /* darwin */ + /******************************************************************* * Posix Condition Variables ******************************************************************/ Modified: incubator/trafficserver/traffic/branches/dev/libinktomi++/llqueue.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/libinktomi%2B%2B/llqueue.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/libinktomi++/llqueue.cc (original) +++ incubator/trafficserver/traffic/branches/dev/libinktomi++/llqueue.cc Fri Dec 18 17:57:46 2009 @@ -27,6 +27,7 @@ #include <malloc.h> #endif #include <assert.h> +#include <limits.h> #include "ink_unused.h" /* MAGIC_EDITING_TAG */ #include "llqueue.h" @@ -80,14 +81,22 @@ create_queue() { const char *totally_bogus_name = "create_queue"; - LLQ * new_val; new_val = (LLQ *) xmalloc(sizeof(LLQ)); if (!new_val) return NULL; +#if (HOST_OS == darwin) + static int qnum = 0; + char sname[NAME_MAX]; + qnum++; + snprintf(sname,NAME_MAX,"%s%d",totally_bogus_name,qnum); + ink_sem_unlink(sname); // FIXME: remove, semaphore should be properly deleted after usage + new_val->sema = ink_sem_open(sname, O_CREAT | O_EXCL, 0777, 0); +#else /* !darwin */ ink_sem_init(&(new_val->sema), 0); +#endif /* !darwin */ ink_mutex_init(&(new_val->mux), totally_bogus_name); new_val->head = new_val->tail = new_val->free = NULL; @@ -139,8 +148,11 @@ if (Q->len > Q->highwater) Q->highwater = Q->len; ink_mutex_release(&(Q->mux)); +#if (HOST_OS == darwin) + ink_sem_post(Q->sema); +#else ink_sem_post(&(Q->sema)); - +#endif return 1; } @@ -207,9 +219,11 @@ { LLQrec * rec; void *d; - +#if (HOST_OS == darwin) + ink_sem_wait(Q->sema); +#else ink_sem_wait(&(Q->sema)); - +#endif ink_mutex_acquire(&(Q->mux)); Modified: incubator/trafficserver/traffic/branches/dev/libinktomi++/llqueue.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/libinktomi%2B%2B/llqueue.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/libinktomi++/llqueue.h (original) +++ incubator/trafficserver/traffic/branches/dev/libinktomi++/llqueue.h Fri Dec 18 17:57:46 2009 @@ -45,7 +45,11 @@ LLQrec * head, *tail, *free; unsigned long len, highwater; ink_mutex mux; - ink_sem sema; +#if (HOST_OS == darwin) + ink_sem *sema; +#else /* !darwin */ + ink_sem sema; +#endif /* !darwin */ } LLQ; LLQ *create_queue(void); Modified: incubator/trafficserver/traffic/branches/dev/proxy/ControlBase.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/ControlBase.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/ControlBase.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/ControlBase.cc Fri Dec 18 17:57:46 2009 @@ -86,7 +86,7 @@ // Free all Prefix/Postfix strings and // SrcIP, Port, Time Of Day Structures num_el = (*mod_elements).length() + 1; - for (int i = 0; i < num_el; i++) { + for (intptr_t i = 0; i < num_el; i++) { modifier_el & cur_el = (*mod_elements)[i]; if (cur_el.type == MOD_PREFIX || cur_el.type == MOD_SUFFIX || @@ -118,7 +118,7 @@ } printf("\t\t\t"); - for (int i = 0; i < num_el; i++) { + for (intptr_t i = 0; i < num_el; i++) { modifier_el & cur_el = (*mod_elements)[i]; switch (cur_el.type) { case MOD_INVALID: @@ -195,7 +195,7 @@ return true; } - for (int i = 0; i < mod_elements->length(); i++) { + for (intptr_t i = 0; i < mod_elements->length(); i++) { modifier_el & cur_el = (*mod_elements)[i]; switch (cur_el.type) { Modified: incubator/trafficserver/traffic/branches/dev/proxy/CoreUtils.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/CoreUtils.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/CoreUtils.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/CoreUtils.cc Fri Dec 18 17:57:46 2009 @@ -130,6 +130,15 @@ int program_counter = 0; #endif // linux check +#if (HOST_OS == darwin) +#include <stdio.h> +#include <stdlib.h> +#include <stdint.h> +#include <math.h> +#include "inktomi++.h" +#include "CoreUtils.h" +#endif + #ifdef READ_CORE_WMT #include "WMT-Debug.h" #include "WMT-ServerFileSM.h" @@ -211,11 +220,11 @@ if (arrayMem.length() == 0) { arrayMem(0); - arrayMem[0].vaddr = vaddr1; - arrayMem[0].offset = offset1; - arrayMem[0].fsize = fsize1; + arrayMem[(intptr_t)0].vaddr = vaddr1; + arrayMem[(intptr_t)0].offset = offset1; + arrayMem[(intptr_t)0].fsize = fsize1; } else { - int index = find_vaddr(vaddr1, arrayMem.length(), 0); + intptr_t index = find_vaddr(vaddr1, arrayMem.length(), 0); if (index == arrayMem.length()) { arrayMem(index); arrayMem[index].vaddr = vaddr1; @@ -223,17 +232,17 @@ arrayMem[index].fsize = fsize1; } else if (index == 0) { arrayMem(arrayMem.length()); - for (int i = 0; i < arrayMem.length(); i++) { + for (intptr_t i = 0; i < arrayMem.length(); i++) { arrayMem[arrayMem.length() - i - 1].vaddr = arrayMem[arrayMem.length() - i - 2].vaddr; arrayMem[arrayMem.length() - i - 1].offset = arrayMem[arrayMem.length() - i - 2].offset; arrayMem[arrayMem.length() - i - 1].fsize = arrayMem[arrayMem.length() - i - 2].fsize; } - arrayMem[0].vaddr = vaddr1; - arrayMem[0].offset = offset1; - arrayMem[0].fsize = fsize1; + arrayMem[(intptr_t)0].vaddr = vaddr1; + arrayMem[(intptr_t)0].offset = offset1; + arrayMem[(intptr_t)0].fsize = fsize1; } else { arrayMem(arrayMem.length()); - for (int i = 1; i < arrayMem.length() - index; i++) { + for (intptr_t i = 1; i < arrayMem.length() - index; i++) { arrayMem[arrayMem.length() - i].vaddr = arrayMem[arrayMem.length() - i - 1].vaddr; arrayMem[arrayMem.length() - i].offset = arrayMem[arrayMem.length() - i - 1].offset; arrayMem[arrayMem.length() - i].fsize = arrayMem[arrayMem.length() - i - 1].fsize; @@ -251,7 +260,7 @@ intptr_t CoreUtils::read_core_memory(intptr_t vaddr, intptr_t length, char *buf, FILE * fp) { - int index = find_vaddr(vaddr, arrayMem.length(), 0); + intptr_t index = find_vaddr(vaddr, arrayMem.length(), 0); if (inTable == false) return -1; else { Modified: incubator/trafficserver/traffic/branches/dev/proxy/CoreUtils.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/CoreUtils.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/CoreUtils.h (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/CoreUtils.h Fri Dec 18 17:57:46 2009 @@ -62,6 +62,9 @@ #include <assert.h> #include <asm/ptrace.h> // for structure pt_regs #include <elf.h> +#ifdef USE_LIBEV +#undef EV_NONE +#endif #include "../libinktomi++/DynArray.h" #define SP_REGNUM 15 /* Contains address of top of stack USP */ @@ -79,6 +82,26 @@ }; #endif // linux check +#if (HOST_OS == darwin) +#include <stdio.h> +#include <unistd.h> +#include <stdlib.h> +#include <string.h> +#include <math.h> +#include <assert.h> + +#define NO_OF_ARGS 10 /* The argument depth upto which we would be looking into + the stack */ + +// contains local and in registers, frame pointer, and stack base +struct core_stack_state +{ + intptr_t framep; //int stkbase; + intptr_t pc; + intptr_t arg[NO_OF_ARGS]; +}; +#endif + // to be sorted by virtual address struct memTable { Modified: incubator/trafficserver/traffic/branches/dev/proxy/ICP.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/ICP.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/ICP.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/ICP.cc Fri Dec 18 17:57:46 2009 @@ -1120,9 +1120,9 @@ npending_actions--; return; } - for (int i = 0; i < pendingActions->length(); i++) { + for (intptr_t i = 0; i < pendingActions->length(); i++) { if ((*pendingActions)[i] == a) { - for (int j = i; j < pendingActions->length() - 1; j++) + for (intptr_t j = i; j < pendingActions->length() - 1; j++) (*pendingActions)[j] = (*pendingActions)[j + 1]; pendingActions->set_length(pendingActions->length() - 1); npending_actions--; @@ -1140,7 +1140,7 @@ if (!pendingActions) { return; } - for (int i = 0; i < pendingActions->length(); i++) { + for (intptr_t i = 0; i < pendingActions->length(); i++) { if ((*pendingActions)[i] && ((*pendingActions)[i] != ACTION_IO_ERROR)) { ((*pendingActions)[i])->cancel(); @@ -1753,7 +1753,7 @@ mhdr->msg_name = (caddr_t) 0; mhdr->msg_namelen = 0; -#if (HOST_OS != linux) && (HOST_OS != freebsd) +#if (HOST_OS != linux) && (HOST_OS != freebsd) && (HOST_OS != darwin) mhdr->msg_accrights = (caddr_t) 0; mhdr->msg_accrightslen = 0; #else Modified: incubator/trafficserver/traffic/branches/dev/proxy/Main.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/Main.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/Main.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/Main.cc Fri Dec 18 17:57:46 2009 @@ -46,7 +46,9 @@ #include <sys/filio.h> #endif #include <syslog.h> +#if (HOST_OS != darwin) #include <mcheck.h> +#endif #include "Main.h" #include "signals.h" @@ -311,7 +313,13 @@ if (max_it) { ink_release_assert(getrlimit(MAGIC_CAST(which), &rl) >= 0); if (rl.rlim_cur != rl.rlim_max) { +#if (HOST_OS == darwin) + struct rlimit rlt; + rlt.rlim_max = OPEN_MAX; + rl.rlim_cur = min(rlt.rlim_max, rl.rlim_max); +#else rl.rlim_cur = rl.rlim_max; +#endif ink_release_assert(setrlimit(MAGIC_CAST(which), &rl) >= 0); } } @@ -1288,6 +1296,15 @@ { } +/* +static void +init_logging() +{ + // iObject::Init(); + // iLogBufferBuffer::Init(); +} +*/ + static void init_http_header() { @@ -1542,7 +1559,11 @@ NOWARN_UNUSED(argc); + //init_logging(); + +#ifdef HAVE_MCHECK mcheck_pedantic(NULL); +#endif #ifdef USE_NCA NCA_handlers = ink_number_of_processors(); Modified: incubator/trafficserver/traffic/branches/dev/proxy/Makefile.am URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/Makefile.am?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/Makefile.am (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/Makefile.am Fri Dec 18 17:57:46 2009 @@ -9,10 +9,8 @@ endif AM_CPPFLAGS = \ - -I$(top_srcdir)/libinktomi++ \ - -I$(top_srcdir)/proxy/dns_cache \ - -I$(top_srcdir)/librecords \ $(iocore_include_dirs) \ + -I$(top_srcdir)/proxy/dns_cache \ -I$(srcdir)/http2 \ -I$(srcdir)/logging \ -I$(srcdir)/http2/remap \ @@ -157,7 +155,7 @@ @LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ @LIBRT@ \ @LIBREGEX@ @LIBDB@ @LIBSSL@ @LIBTCL@ @LIBDL@ \ @LIBEXPAT@ @LIBDEMANGLE@ @LIBICONV@ \ - @LIBMLD@ @LIBEXC@ -lm + @LIBMLD@ @LIBEXC@ -lm @LIBEV@ logcat_SOURCES = logcat.cc logcat_LDFLAGS = @EXTRA_CXX_LDFLAGS@ @@ -213,7 +211,7 @@ $(top_builddir)/iocore/eventsystem/libinkevent.a \ $(top_builddir)/libinktomi++/libinktomi++.a \ @LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ @LIBRT@ \ - @LIBREGEX@ @LIBDB@ @LIBSSL@ @LIBTCL@ @LIBDL@ \ + @LIBREGEX@ @LIBDB@ @LIBSSL@ @LIBTCL@ @LIBDL@ @LIBEV@ \ @LIBEXPAT@ @LIBDEMANGLE@ @LIBMLD@ @LIBEXC@ @LIBICONV@ -lm logstats_CPPFLAGS = \ @@ -275,7 +273,7 @@ $(top_builddir)/iocore/eventsystem/libinkevent.a \ $(top_builddir)/libinktomi++/libinktomi++.a \ @LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ @LIBRT@ \ - @LIBREGEX@ @LIBDB@ @LIBSSL@ @LIBTCL@ @LIBDL@ \ + @LIBREGEX@ @LIBDB@ @LIBSSL@ @LIBTCL@ @LIBDL@ @LIBEV@ \ @LIBEXPAT@ @LIBDEMANGLE@ @LIBMLD@ @LIBEXC@ @LIBICONV@ -lm sac_SOURCES = sac.cc @@ -332,7 +330,7 @@ $(top_builddir)/librecords/librecprocess.a \ $(top_builddir)/libinktomi++/libinktomi++.a \ @LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ @LIBRT@ \ - @LIBREGEX@ @LIBDB@ @LIBSSL@ @LIBTCL@ @LIBDL@ \ + @LIBREGEX@ @LIBDB@ @LIBSSL@ @LIBTCL@ @LIBDL@ @LIBEV@ \ @LIBEXPAT@ @LIBDEMANGLE@ @LIBMLD@ @LIBEXC@ @LIBICONV@ -lm cust_log_fmt_cnvrt_SOURCES = cust_log_fmt_cnvrt.cc Modified: incubator/trafficserver/traffic/branches/dev/proxy/Update.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/Update.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/Update.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/Update.cc Fri Dec 18 17:57:46 2009 @@ -2323,7 +2323,7 @@ int HtmlParser::ExtractURL(char **url, char **url_end) { - int n; + intptr_t n; // '#' considerations if (_attr_value_hash_char_index >= 0) { @@ -2341,7 +2341,7 @@ if (_html_doc_base) { _html_doc_base.clear(); } - int n; + intptr_t n; for (n = 0; n < _attr_value.length(); ++n) { _html_doc_base(_html_doc_base.length()) = _attr_value[n]; } @@ -2388,7 +2388,7 @@ } if (_attr_value.length() > 1) { - *url = &_attr_value[0]; + *url = &_attr_value[(intptr_t)0]; *url_end = &_attr_value[_attr_value.length() - 2]; return 1; @@ -2474,7 +2474,7 @@ if (base) delete base; - *url = &_result[0]; + *url = &_result[(intptr_t)0]; *url_end = &_result[_result.length() - 3]; // -1 (real len) // -1 (skip null) // -1 (zero base) Modified: incubator/trafficserver/traffic/branches/dev/proxy/Update.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/Update.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/Update.h (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/Update.h Fri Dec 18 17:57:46 2009 @@ -451,7 +451,7 @@ DynArray<char>_tag; DynArray<char>_attr; DynArray<char>_attr_value; - int _attr_value_hash_char_index; // '#' char loc + intptr_t _attr_value_hash_char_index; // '#' char loc unsigned char _attr_value_quoted; DynArray<char>_html_doc_base; DynArray<char>_result; Modified: incubator/trafficserver/traffic/branches/dev/proxy/config/records.config.in URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/config/records.config.in?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/config/records.config.in (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/config/records.config.in Fri Dec 18 17:57:46 2009 @@ -425,7 +425,7 @@ # ############################################################################## CONFIG proxy.config.cluster.cluster_port INT 8086 -CONFIG proxy.config.cluster.ethernet_interface STRING NULL +CONFIG proxy.config.cluster.ethernet_interface STRING en0 ############################################################################## # # Cache @@ -616,7 +616,7 @@ ############################################################################## CONFIG proxy.config.url_remap.default_to_server_pac INT 0 CONFIG proxy.config.url_remap.default_to_server_pac_port INT -1 -CONFIG proxy.config.url_remap.remap_required INT 1 +CONFIG proxy.config.url_remap.remap_required INT 0 CONFIG proxy.config.url_remap.pristine_host_hdr INT 0 ############################################################################## # Modified: incubator/trafficserver/traffic/branches/dev/proxy/config/storage.config URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/config/storage.config?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/config/storage.config (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/config/storage.config Fri Dec 18 17:57:46 2009 @@ -16,7 +16,7 @@ # # Example: 128MB cache file(/usr/local/trafficserver/cache/cache.db) # -#/usr/local/trafficserver/cache 134217728 +/usr/local/trafficserver/cache 134217728 # # ############################################################# Modified: incubator/trafficserver/traffic/branches/dev/proxy/congest/Makefile.am URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/congest/Makefile.am?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/congest/Makefile.am (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/congest/Makefile.am Fri Dec 18 17:57:46 2009 @@ -3,8 +3,8 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/librecords \ - $(iocore_include_dirs) \ -I$(top_srcdir)/proxy \ + $(iocore_include_dirs) \ -I$(top_srcdir)/proxy/nntp \ -I$(top_srcdir)/proxy/http2 \ -I$(top_srcdir)/proxy/mgmt2 \ Modified: incubator/trafficserver/traffic/branches/dev/proxy/http2/HttpServerSession.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/http2/HttpServerSession.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/http2/HttpServerSession.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/http2/HttpServerSession.cc Fri Dec 18 17:57:46 2009 @@ -51,7 +51,7 @@ state(HSS_INIT), to_parent_proxy(false), server_trans_stat(0), private_session(false), enable_origin_connection_limiting(false), -connection_count(ConnectionCount::getInstance()), +connection_count(NULL), read_buffer(NULL), server_vc(NULL), magic(HTTP_SS_MAGIC_DEAD), buf_reader(NULL) { } @@ -102,6 +102,8 @@ // Check to see if we are limiting the number of connections // per host if (enable_origin_connection_limiting == true) { + if(connection_count == NULL) + connection_count = ConnectionCount::getInstance(); connection_count->incrementCount(server_ip); Debug("http_ss", "[%lld] new connection, ip: %u, count: %u", con_id, server_ip, connection_count->getCount(server_ip)); Modified: incubator/trafficserver/traffic/branches/dev/proxy/http2/Makefile.am URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/http2/Makefile.am?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/http2/Makefile.am (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/http2/Makefile.am Fri Dec 18 17:57:46 2009 @@ -2,8 +2,8 @@ # AM_CPPFLAGS = \ - $(iocore_include_dirs) \ -I$(top_srcdir)/proxy \ + $(iocore_include_dirs) \ -I$(top_srcdir)/librecords \ -I$(top_srcdir)/proxy/mgmt2 \ -I$(top_srcdir)/proxy/mgmt2/preparse \ Modified: incubator/trafficserver/traffic/branches/dev/proxy/logcat.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/logcat.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/logcat.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/logcat.cc Fri Dec 18 17:57:46 2009 @@ -298,7 +298,9 @@ perror(0); error = DATA_PROCESSING_ERROR; } else { +#ifdef HAVE_POSIX_FADVISE posix_fadvise(in_fd, 0, 0, POSIX_FADV_DONTNEED); +#endif if (auto_filenames) { // change .blog to .log // Modified: incubator/trafficserver/traffic/branches/dev/proxy/logging/Log.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/logging/Log.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/logging/Log.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/logging/Log.cc Fri Dec 18 17:57:46 2009 @@ -1050,6 +1050,9 @@ void Log::init(int flags) { + iObject::Init(); + iLogBufferBuffer::Init(); + maxInactiveObjects = LOG_OBJECT_ARRAY_DELTA; numInactiveObjects = 0; inactive_objects = new LogObject *[maxInactiveObjects]; Modified: incubator/trafficserver/traffic/branches/dev/proxy/logging/LogBuffer.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/logging/LogBuffer.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/logging/LogBuffer.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/logging/LogBuffer.cc Fri Dec 18 17:57:46 2009 @@ -67,8 +67,7 @@ vink32 LogBuffer::M_ID = 0; -iObjectActivator - iObjectActivatorInstance; /* just to do ::Init() before main() */ +//iObjectActivator iObjectActivatorInstance; /* just to do ::Init() before main() */ iObject * iObject::free_heap = 0; /* list of free blocks */ Modified: incubator/trafficserver/traffic/branches/dev/proxy/logging/LogBuffer.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/logging/LogBuffer.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/logging/LogBuffer.h (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/logging/LogBuffer.h Fri Dec 18 17:57:46 2009 @@ -141,12 +141,13 @@ size_t class_size; /* real class size */ iObject *next_object; - static void Init(void); + protected: iObject(const iObject &); /* declared; not implemented - block copying and assignment */ iObject & operator=(const iObject &); /* ditto */ public: + static void Init(void); void *operator new(size_t size); void operator delete(void *p); @@ -170,7 +171,6 @@ iLogBufferBuffer *next; size_t real_buf_size; - static void Init(void); iLogBufferBuffer() { @@ -193,6 +193,7 @@ char *buf; size_t size; + static void Init(void); static iLogBufferBuffer *New_iLogBufferBuffer(size_t _buf_size); static iLogBufferBuffer *Delete_iLogBufferBuffer(iLogBufferBuffer * _b); Modified: incubator/trafficserver/traffic/branches/dev/proxy/logging/Makefile.am URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/logging/Makefile.am?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/logging/Makefile.am (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/logging/Makefile.am Fri Dec 18 17:57:46 2009 @@ -5,8 +5,8 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libinktomi++ \ - $(iocore_include_dirs) \ -I$(top_srcdir)/proxy \ + $(iocore_include_dirs) \ -I$(top_srcdir)/proxy/http2 \ -I$(top_srcdir)/proxy/http2/remap \ -I$(top_srcdir)/proxy/mgmt2 \ Modified: incubator/trafficserver/traffic/branches/dev/proxy/logstats.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/logstats.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/logstats.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/logstats.cc Fri Dec 18 17:57:46 2009 @@ -1734,9 +1734,9 @@ strncat(ymon_notice, " squid.blog not enabled", ymon_notice_size - strlen(ymon_notice) - 1); return -1; } - +#ifdef HAVE_POSIX_FADVISE posix_fadvise(main_fd, 0, 0, POSIX_FADV_DONTNEED); - +#endif return main_fd; } Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/Main.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/Main.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/Main.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/Main.cc Fri Dec 18 17:57:46 2009 @@ -76,7 +76,7 @@ #endif -#if (HOST_OS != linux) +#if (HOST_OS != linux) && (HOST_OS != darwin) extern "C" { int gethostname(char *name, int namelen); Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/Makefile.am URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/Makefile.am?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/Makefile.am (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/Makefile.am Fri Dec 18 17:57:46 2009 @@ -95,9 +95,9 @@ cluster/libcluster.a \ preparse/libpreparse.a \ stats/libstats.a \ - web2/libweb.a \ + web2/libweb.la \ cli/libcli_lm.a \ - api2/libmgmtapilocal.a \ + api2/libmgmtapilocal.la \ utils/libutils_lm.a \ $(top_builddir)/proxy/hdrs/libhdrs.a \ $(top_builddir)/librecords/libreclocal.a \ Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/Makefile.am URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/Makefile.am?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/Makefile.am (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/Makefile.am Fri Dec 18 17:57:46 2009 @@ -22,9 +22,9 @@ MGMT_DEFS = @MGMT_DEFS@ DEFS += $(MGMT_DEFS) -noinst_LIBRARIES = libmgmtapilocal.a - -libmgmtapilocal_a_SOURCES = \ +#noinst_LIBRARIES = libmgmtapilocal.a +lib_LTLIBRARIES = libmgmtapilocal.la +libmgmtapilocal_la_SOURCES = \ include/INKMgmtAPI.h \ CfgContextDefs.h \ CfgContextImpl.cc \ Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/include/INKMgmtAPI.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/include/INKMgmtAPI.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/include/INKMgmtAPI.h (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/include/INKMgmtAPI.h Fri Dec 18 17:57:46 2009 @@ -57,9 +57,11 @@ #if defined (__SUNPRO_CC) || (defined (__GNUC__) || ! defined(__cplusplus)) +#if (HOST_OS != darwin) #if !defined (bool) #define bool int #endif +#endif #if !defined (true) #define true 1 Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/remote/Makefile.am URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/remote/Makefile.am?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/remote/Makefile.am (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/api2/remote/Makefile.am Fri Dec 18 17:57:46 2009 @@ -17,11 +17,14 @@ MGMT_DEFS = @MGMT_DEFS@ DEFS += $(MGMT_DEFS) -noinst_LIBRARIES = libmgmtapiremote.a +##noinst_LIBRARIES = libmgmtapiremote.la +##noinst_LTLIBRARIES = libmgmtapiremote.la bin_PROGRAMS = api_cli_remote -libmgmtapiremote_a_SOURCES = \ +lib_LTLIBRARIES = libmgmtapiremote.la +#libmgmtapiremote_la_LDFLAGS = -static +libmgmtapiremote_la_SOURCES = \ ../CfgContextImpl.cc \ ../CfgContextManager.cc \ ../CfgContextUtils.cc \ @@ -37,7 +40,7 @@ api_cli_remote_SOURCES = APITestCliRemote.cc api_cli_remote_LDADD = \ - libmgmtapiremote.a \ + libmgmtapiremote.la \ $(top_builddir)/libinktomi++/libinktomi++.a \ @LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ \ @LIBTCL@ @LIBDB@ @LIBRT@ @LIBDL@ @LIBSSL@ @LIBICONV@ Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli/CLIlineBuffer.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli/CLIlineBuffer.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli/CLIlineBuffer.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli/CLIlineBuffer.cc Fri Dec 18 17:57:46 2009 @@ -97,7 +97,7 @@ int CLIlineBuffer::getLineSize() { - int i; + intptr_t i; int line_size = 0; for (i = 0; i < c_fields; i++) @@ -110,7 +110,7 @@ int CLIlineBuffer::getStringSize() { - int i; + intptr_t i; int s_size = 0; for (i = 0; i < c_fields; i++) @@ -130,7 +130,7 @@ int CLIlineBuffer::getDepth() { - int i; + intptr_t i; int cdepth = 1; int depth = 1; int spdepth = 0; @@ -212,7 +212,7 @@ int iters = 0; static char *cptr = '\0'; bool done = false; - int i; + intptr_t i; // calculate output line buffer size buf_size = buf_depth * (line_size + strlen("\n") + 1) + 1; Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli/CLIlineBuffer.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli/CLIlineBuffer.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli/CLIlineBuffer.h (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli/CLIlineBuffer.h Fri Dec 18 17:57:46 2009 @@ -40,7 +40,7 @@ { private: int n_fields; /* available number of fields */ - int c_fields; /* low water mark on used fields */ + intptr_t c_fields; /* low water mark on used fields */ DynArray < const char *>*f_format; /* array of format fields */ DynArray < const char *>*o_string; /* array of output strings */ DynArray<int>*f_widths; /* array of field widths */ Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/ConfigCmd.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/ConfigCmd.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/ConfigCmd.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/ConfigCmd.cc Fri Dec 18 17:57:46 2009 @@ -5149,7 +5149,7 @@ char domain[256]; char resolventry[256]; -#if (HOST_OS == linux) +#if (HOST_OS == linux) || (HOST_OS == darwin) if (getdomainname(domain, 256) == -1) return CLI_ERROR; snprintf((char *) &resolventry, sizeof(resolventry), "domain %s\nnameserver %s\n", domain, nameserver); @@ -5181,7 +5181,7 @@ getrouter(char *router, int len) { FILE *fstr; -#if (HOST_OS == linux) +#if (HOST_OS == linux) || (HOST_OS == darwin) char buff[256]; char *p; @@ -5228,6 +5228,8 @@ #define BUFFLEN 256 #if (HOST_OS == linux) #define interface_name "eth0" +#elif (HOST_OS == darwin) +#define interface_name "en0" #endif FILE *ifconfig_data; @@ -5256,7 +5258,7 @@ fprintf(stderr, "me lines over %d characters long.\n", BUFFLEN); goto err; } -#if (HOST_OS == linux) +#if (HOST_OS == linux) || (HOST_OS == darwin) p = pos_after_string(buff, "inet addr:"); #endif @@ -6323,7 +6325,7 @@ int find = 0; int counter = 0; -#if (HOST_OS == linux) +#if (HOST_OS == linux) || (HOST_OS == darwin) ink_strncpy(value, "", value_len); // coverity[fs_check_call] if (access(pathname, R_OK)) { Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/Makefile.am URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/Makefile.am?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/Makefile.am (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/Makefile.am Fri Dec 18 17:57:46 2009 @@ -32,8 +32,9 @@ hashtable.h \ ShowCmd.h -noinst_LIBRARIES = libtrafficshell.a -libtrafficshell_a_SOURCES = \ +#noinst_LIBRARIES = libtrafficshell.a +lib_LTLIBRARIES = libtrafficshell.la +libtrafficshell_la_SOURCES = \ CliCreateCommands.cc \ CliCreateCommands.h \ CliCreateUpgradeCmd.cc \ @@ -65,10 +66,10 @@ traffic_shell_LDFLAGS = $(EXTRA_CXX_LDFLAGS) traffic_shell_LDADD = \ - $(top_builddir)/proxy/mgmt2/api2/remote/libmgmtapiremote.a \ + $(top_builddir)/proxy/mgmt2/api2/remote/libmgmtapiremote.la \ $(LIBTCL) \ $(top_builddir)/libinktomi++/libinktomi++.a \ - libtrafficshell.a \ + libtrafficshell.la \ $(top_builddir)/proxy/mgmt2/tools/libinksysapi.a \ $(top_builddir)/proxy/mgmt2/tools/libinkconfigapi.a \ $(top_builddir)/proxy/mgmt2/utils/libutils_lm.a \ @@ -78,6 +79,6 @@ @LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ \ @LIBRT@ -libtrafficshell_a_LIBADD = \ - $(libtrafficshell_a_OBJECTS) \ - $(libtrafficshell_a_DEPENDENCIES) +#libtrafficshell_la_LIBADD = \ +# $(libtrafficshell_la_OBJECTS) \ +# $(libtrafficshell_la_DEPENDENCIES) Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/cli_scriptpaths.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/cli_scriptpaths.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/cli_scriptpaths.h (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/cli2/cli_scriptpaths.h Fri Dec 18 17:57:46 2009 @@ -53,6 +53,9 @@ #define NIC_IDENTIFIER_STRING "eth0" #define NIC_CHANGES_STRING "Changes Take Effect Immediately" #define NIC_SETTINGS_EXECUTABLE INKTOMI_HOME "/rubicon/bin/mii-diag" +#elif (HOST_OS == darwin) +#define DEFAULTROUTER_PATH "/tmp/tsrouterpath-fixme" // FIXME: +#define GATEWAY_MARKER "GATEWAY=" // FIXME: #endif #define NAMESERVER_PATH "/etc/resolv.conf" @@ -105,6 +108,8 @@ #define TIMEZONE_FILE "/etc/default/init" #elif (HOST_OS == linux) #define TIMEZONE_FILE "/etc/sysconfig/clock" +#elif (HOST_OS == darwin) +#define TIMEZONE_FILE "/tmp/tstzonefile-fixme" // FIXME: #else #error No file set for this OS. #endif Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/IpLookup.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/IpLookup.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/IpLookup.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/IpLookup.cc Fri Dec 18 17:57:46 2009 @@ -216,7 +216,7 @@ DynArray<ip_match_el> *array = (DynArray<ip_match_el> *)array_in; ip_match_el *cur; /* struct in_addr debug; */ - int j; + intptr_t j; for (j = s->array_slot + 1; j < array->length(); j++) { cur = &((*array)[j]); @@ -393,7 +393,7 @@ struct in_addr rangeStart; struct in_addr rangeEnd; - for (int j = 0; j < array->length(); j++) { + for (intptr_t j = 0; j < array->length(); j++) { cur = &((*array)[j]); ink_assert(cur != NULL); rangeStart.s_addr = htonl(cur->range_start); Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/SimpleQueue.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/SimpleQueue.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/SimpleQueue.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/SimpleQueue.cc Fri Dec 18 17:57:46 2009 @@ -23,6 +23,7 @@ #include "ink_unused.h" /* MAGIC_EDITING_TAG */ #include "ink_assert.h" +#include "ink_platform.h" #include "SimpleQueue.h" @@ -49,7 +50,16 @@ SimpleQueue::SimpleQueue() { ink_mutex_init(&accessLock, "SimpleQueue Lock"); +#if (HOST_OS == darwin) + static int qnum = 0; + char sname[NAME_MAX]; + qnum++; + snprintf(sname,NAME_MAX,"%s%d","SimpleQueueLock",qnum); + ink_sem_unlink(sname); // FIXME: remove, semaphore should be properly deleted after usage + waitSema = ink_sem_open(sname, O_CREAT | O_EXCL, 0777, 0); +#else /* !darwin */ ink_sem_init(&waitSema, 0); +#endif /* !darwin */ head = NULL; tail = NULL; } @@ -75,7 +85,11 @@ } ink_mutex_destroy(&accessLock); +#if (HOST_OS == darwin) + ink_sem_close(waitSema); +#else ink_sem_destroy(&waitSema); +#endif } // @@ -91,8 +105,11 @@ void *data; // Wait for something to be on the queue +#if (HOST_OS == darwin) + ink_sem_wait(waitSema); +#else ink_sem_wait(&waitSema); - +#endif ink_mutex_acquire(&accessLock); ink_assert(head != NULL && tail != NULL); @@ -129,8 +146,11 @@ void *data; // Wait for something to be on the queue +#if (HOST_OS == darwin) + ink_sem_wait(waitSema); +#else ink_sem_wait(&waitSema); - +#endif ink_mutex_acquire(&accessLock); ink_assert(head != NULL && tail != NULL); @@ -182,7 +202,11 @@ } ink_mutex_release(&accessLock); +#if (HOST_OS == darwin) + ink_sem_post(waitSema); +#else ink_sem_post(&waitSema); +#endif } // Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/SimpleQueue.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/SimpleQueue.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/SimpleQueue.h (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/utils/SimpleQueue.h Fri Dec 18 17:57:46 2009 @@ -58,7 +58,11 @@ void Print(); private: ink_mutex accessLock; +#if (HOST_OS == darwin) + ink_sem *waitSema; +#else ink_sem waitSema; +#endif SimpleQueueEntry *head; SimpleQueueEntry *tail; }; Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/Makefile.am URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/Makefile.am?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/Makefile.am (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/Makefile.am Fri Dec 18 17:57:46 2009 @@ -20,9 +20,9 @@ MGMT_DEFS = @MGMT_DEFS@ DEFS += $(MGMT_DEFS) -noinst_LIBRARIES = libweb.a - -libweb_a_SOURCES = \ +#noinst_LIBRARIES = libweb.a +lib_LTLIBRARIES = libweb.la +libweb_la_SOURCES = \ MgmtAllow.cc \ MgmtAllow.h \ MgmtRaf.h \ Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/WebGlobals.h URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/WebGlobals.h?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/WebGlobals.h (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/WebGlobals.h Fri Dec 18 17:57:46 2009 @@ -108,7 +108,11 @@ { ink_mutex serviceThrLock; ink_mutex submitLock; +#if (HOST_OS == darwin) + ink_sem *serviceThrCount; +#else ink_sem serviceThrCount; +#endif serviceThr_t *serviceThrArray; int webPort; ink_thread_key tmpFile; // used by WebFileEdit.cc Modified: incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/WebIntrMain.cc URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/WebIntrMain.cc?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/WebIntrMain.cc (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/mgmt2/web2/WebIntrMain.cc Fri Dec 18 17:57:46 2009 @@ -534,7 +534,11 @@ #if (HOST_OS != freebsd) ink_thread_cancel(wGlobals.serviceThrArray[i].threadId); #endif +#if (HOST_OS == darwin) + ink_sem_post(wGlobals.serviceThrCount); +#else ink_sem_post(&wGlobals.serviceThrCount); +#endif ink_atomic_increment((ink32 *) & numServiceThr, -1); wGlobals.serviceThrArray[i].alreadyShutdown = true; @@ -547,7 +551,11 @@ ink_mutex_release(&wGlobals.serviceThrLock); for (int j = 0; j < numJoined; j++) { +#if (HOST_OS == darwin) + ink_sem_post(wGlobals.serviceThrCount); +#else ink_sem_post(&wGlobals.serviceThrCount); +#endif ink_atomic_increment((ink32 *) & numServiceThr, -1); } @@ -624,7 +632,16 @@ //initFrameBindings(); // Set up the threads management +#if (HOST_OS == darwin) + static int qnum = 0; + char sname[NAME_MAX]; + qnum++; + snprintf(sname,NAME_MAX,"%s%d","WebInterfaceMutex",qnum); + ink_sem_unlink(sname); // FIXME: remove, semaphore should be properly deleted after usage + wGlobals.serviceThrCount = ink_sem_open(sname, O_CREAT | O_EXCL, 0777, 0); +#else /* !darwin */ ink_sem_init(&wGlobals.serviceThrCount, MAX_SERVICE_THREADS); +#endif /* !darwin */ ink_mutex_init(&wGlobals.serviceThrLock, "Web Interface Mutex"); wGlobals.serviceThrArray = new serviceThr_t[MAX_SERVICE_THREADS]; for (i = 0; i < MAX_SERVICE_THREADS; i++) { @@ -963,8 +980,11 @@ } else { ink_assert(!"[webIntrMain] Error on mgmt_select()\n"); } - +#if (HOST_OS == darwin) + ink_sem_wait(wGlobals.serviceThrCount); +#else ink_sem_wait(&wGlobals.serviceThrCount); +#endif ink_atomic_increment((ink32 *) & numServiceThr, 1); // INKqa11624 - setup sockaddr struct for unix/tcp socket in different sizes @@ -980,7 +1000,11 @@ // coverity[noescape] if ((clientFD = mgmt_accept(acceptFD, (sockaddr *) clientInfo, &addrLen)) < 0) { mgmt_log(stderr, "[WebIntrMain]: %s%s\n", "Accept on incoming connection failed: ", strerror(errno)); +#if (HOST_OS == darwin) + ink_sem_post(wGlobals.serviceThrCount); +#else ink_sem_post(&wGlobals.serviceThrCount); +#endif ink_atomic_increment((ink32 *) & numServiceThr, -1); } else { // Accept succeeded @@ -1026,7 +1050,11 @@ #endif ) { mgmt_log("WARNING: connect by disallowed client %s, closing\n", inet_ntoa(clientInfo->sin_addr)); +#if (HOST_OS == darwin) + ink_sem_post(wGlobals.serviceThrCount); +#else ink_sem_post(&wGlobals.serviceThrCount); +#endif ink_atomic_increment((ink32 *) & numServiceThr, -1); xfree(clientInfo); ink_close_socket(clientFD); @@ -1052,7 +1080,11 @@ wGlobals.serviceThrArray[i].threadId = 0; wGlobals.serviceThrArray[i].fd = -1; ink_close_socket(clientFD); +#if (HOST_OS == darwin) + ink_sem_post(wGlobals.serviceThrCount); +#else ink_sem_post(&wGlobals.serviceThrCount); +#endif ink_atomic_increment((ink32 *) & numServiceThr, -1); } Modified: incubator/trafficserver/traffic/branches/dev/proxy/stats/Makefile.am URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/branches/dev/proxy/stats/Makefile.am?rev=892325&r1=892324&r2=892325&view=diff ============================================================================== --- incubator/trafficserver/traffic/branches/dev/proxy/stats/Makefile.am (original) +++ incubator/trafficserver/traffic/branches/dev/proxy/stats/Makefile.am Fri Dec 18 17:57:46 2009 @@ -3,8 +3,8 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libinktomi++ \ - $(iocore_include_dirs) \ -I$(top_srcdir)/proxy \ + $(iocore_include_dirs) \ -I$(top_srcdir)/proxy/mgmt2 \ -I$(top_srcdir)/proxy/mgmt2/preparse \ -I$(top_srcdir)/proxy/mgmt2/utils \
