You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2011/02/17 04:13:31 UTC
svn commit: r1071495 - in /trafficserver/traffic/trunk: CHANGES
example/blacklist-1/blacklist-1.c example/protocol/Protocol.c
example/thread-pool/psi.c proxy/InkAPI.cc proxy/InkAPITest.cc
proxy/InkIOCoreAPI.cc proxy/api/ts/ts.h.in
Author: zwoop
Date: Thu Feb 17 03:13:31 2011
New Revision: 1071495
URL: http://svn.apache.org/viewvc?rev=1071495&view=rev
Log:
TS-590 A few more changes per suggestions from amc
Modified:
trafficserver/traffic/trunk/CHANGES
trafficserver/traffic/trunk/example/blacklist-1/blacklist-1.c
trafficserver/traffic/trunk/example/protocol/Protocol.c
trafficserver/traffic/trunk/example/thread-pool/psi.c
trafficserver/traffic/trunk/proxy/InkAPI.cc
trafficserver/traffic/trunk/proxy/InkAPITest.cc
trafficserver/traffic/trunk/proxy/InkIOCoreAPI.cc
trafficserver/traffic/trunk/proxy/api/ts/ts.h.in
Modified: trafficserver/traffic/trunk/CHANGES
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/CHANGES?rev=1071495&r1=1071494&r2=1071495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/CHANGES (original)
+++ trafficserver/traffic/trunk/CHANGES Thu Feb 17 03:13:31 2011
@@ -1,6 +1,13 @@
-*- coding: utf-8 -*-
Changes with Apache Traffic Server 2.1.6
+ *) [TS-590] Cleanup all SDK APIs to be more consistent. This
+ changes a large number of APIs, so please check updated docs
+ and signatures in ts/ts.h.
+
+ *) [TS-673] Make the default configurations more conservative
+ for when content is cacheable.
+
*) [TS-672] remove unused/unreferenced Win32 header files and
code paths
Modified: trafficserver/traffic/trunk/example/blacklist-1/blacklist-1.c
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/blacklist-1/blacklist-1.c?rev=1071495&r1=1071494&r2=1071495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/blacklist-1/blacklist-1.c (original)
+++ trafficserver/traffic/trunk/example/blacklist-1/blacklist-1.c Thu Feb 17 03:13:31 2011
@@ -74,7 +74,6 @@ handle_dns(TSHttpTxn txnp, TSCont contp)
const char *host;
int i;
int host_length;
- int lock;
if (TSHttpTxnClientReqGet(txnp, &bufp, &hdr_loc) != TS_SUCCESS) {
TSError("couldn't retrieve client request header\n");
@@ -97,9 +96,7 @@ handle_dns(TSHttpTxn txnp, TSCont contp)
/* We need to lock the sites_mutex as that is the mutex that is
protecting the global list of all blacklisted sites. */
-
- TSMutexLockTry(sites_mutex, &lock);
- if (!lock) {
+ if (!TSMutexLockTry(sites_mutex)) {
TSDebug("blacklist-1", "Unable to get lock. Will retry after some time");
TSHandleMLocRelease(bufp, hdr_loc, url_loc);
TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc);
@@ -182,16 +179,13 @@ read_blacklist(TSCont contp)
{
char blacklist_file[1024];
TSFile file;
- int lock;
sprintf(blacklist_file, "%s/blacklist.txt", TSPluginDirGet());
file = TSfopen(blacklist_file, "r");
-
- TSMutexLockTry(sites_mutex, &lock);
nsites = 0;
/* If the Mutext lock is not successful try again in RETRY_TIME */
- if (!lock) {
+ if (!TSMutexLockTry(sites_mutex)) {
TSContSchedule(contp, RETRY_TIME, TS_THREAD_POOL_DEFAULT);
return;
}
Modified: trafficserver/traffic/trunk/example/protocol/Protocol.c
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/protocol/Protocol.c?rev=1071495&r1=1071494&r2=1071495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/protocol/Protocol.c (original)
+++ trafficserver/traffic/trunk/example/protocol/Protocol.c Thu Feb 17 03:13:31 2011
@@ -44,7 +44,6 @@ accept_handler(TSCont contp, TSEvent eve
{
TSCont txn_sm;
TSMutex pmutex;
- int lock;
switch (event) {
case TS_EVENT_NET_ACCEPT:
@@ -55,7 +54,7 @@ accept_handler(TSCont contp, TSEvent eve
/* This is no reason for not grabbing the lock.
So skip the routine which handle LockTry failure case. */
- TSMutexLockTry(pmutex, &lock);
+ TSMutexLockTry(pmutex); // TODO: why should it not check if we got the lock??
TSContCall(txn_sm, 0, NULL);
TSMutexUnlock(pmutex);
break;
Modified: trafficserver/traffic/trunk/example/thread-pool/psi.c
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/thread-pool/psi.c?rev=1071495&r1=1071494&r2=1071495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/thread-pool/psi.c (original)
+++ trafficserver/traffic/trunk/example/thread-pool/psi.c Thu Feb 17 03:13:31 2011
@@ -771,17 +771,17 @@ transform_handler(TSCont contp, TSEvent
{
TSVIO input_vio;
ContData *data;
- int state, lock, retval;
+ int state, retval;
/* This section will be called by both TS internal
and the thread. Protect it with a mutex to avoid
concurrent calls. */
- TSMutexLockTry(TSContMutexGet(contp), &lock);
/* Handle TryLock result */
- if (!lock) {
+ if (!TSMutexLockTry(TSContMutexGet(contp))) {
TSCont c = TSContCreate(trylock_handler, NULL);
TryLockData *d = TSmalloc(sizeof(TryLockData));
+
d->contp = contp;
d->event = event;
TSContDataSet(c, d);
Modified: trafficserver/traffic/trunk/proxy/InkAPI.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/InkAPI.cc?rev=1071495&r1=1071494&r2=1071495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/InkAPI.cc (original)
+++ trafficserver/traffic/trunk/proxy/InkAPI.cc Thu Feb 17 03:13:31 2011
@@ -2050,6 +2050,7 @@ TSUrlStringGet(TSMBuffer bufp, TSMLoc ob
{
sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
sdk_assert(sdk_sanity_check_url_handle(obj) == TS_SUCCESS);
+ sdk_assert(sdk_sanity_check_null_ptr((void*)length) == TS_SUCCESS);
URLImpl *url_impl = (URLImpl *) obj;
return url_string_get(url_impl, NULL, length, NULL);
@@ -2939,15 +2940,10 @@ TSMimeHdrFieldNameGet(TSMBuffer bufp, TS
sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
(sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
+ sdk_assert(sdk_sanity_check_null_ptr((void*)length) == TS_SUCCESS);
- int name_len;
- const char *name_ptr;
MIMEFieldSDKHandle *handle = (MIMEFieldSDKHandle *) field;
-
- name_ptr = mime_field_name_get(handle->field_ptr, &name_len);
- if (length)
- *length = name_len;
- return name_ptr;
+ return mime_field_name_get(handle->field_ptr, length);
}
TSReturnCode
@@ -3617,6 +3613,7 @@ TSHttpHdrMethodGet(TSMBuffer bufp, TSMLo
{
sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
sdk_assert(sdk_sanity_check_http_hdr_handle(obj) == TS_SUCCESS);
+ sdk_assert(sdk_sanity_check_null_ptr((void*)length) == TS_SUCCESS);
HTTPHdr h;
@@ -3726,6 +3723,7 @@ TSHttpHdrReasonGet(TSMBuffer bufp, TSMLo
{
sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
sdk_assert(sdk_sanity_check_http_hdr_handle(obj) == TS_SUCCESS);
+ sdk_assert(sdk_sanity_check_null_ptr((void*)length) == TS_SUCCESS);
HTTPHdr h;
@@ -4415,6 +4413,7 @@ char*
TSHttpTxnEffectiveUrlStringGet(TSHttpTxn txnp, int* length)
{
sdk_assert(TS_SUCCESS == sdk_sanity_check_txn(txnp));
+ sdk_assert(sdk_sanity_check_null_ptr((void*)length) == TS_SUCCESS);
HttpSM *sm = reinterpret_cast<HttpSM*>(txnp);
return sm->t_state.hdr_info.client_request.url_string_get(0, length);
@@ -6938,6 +6937,7 @@ char*
TSFetchRespGet(TSHttpTxn txnp, int *length)
{
sdk_assert(sdk_sanity_check_txn(txnp) == TS_SUCCESS);
+ sdk_assert(sdk_sanity_check_null_ptr((void*)length) == TS_SUCCESS);
FetchSM *fetch_sm = (FetchSM*)txnp;
return fetch_sm->resp_get(length);
@@ -7427,14 +7427,14 @@ TSHttpTxnConfigStringGet(TSHttpTxn txnp,
sdk_assert(sdk_sanity_check_txn(txnp) == TS_SUCCESS);
sdk_assert(sdk_sanity_check_null_ptr((void**)value) == TS_SUCCESS);
sdk_assert(sdk_sanity_check_null_ptr((void*)*value) == TS_SUCCESS);
+ sdk_assert(sdk_sanity_check_null_ptr((void*)length) == TS_SUCCESS);
HttpSM *sm = (HttpSM*) txnp;
switch (conf) {
case TS_CONFIG_HTTP_RESPONSE_SERVER_STR:
*value = sm->t_state.txn_conf->proxy_response_server_string;
- if (length)
- *length = sm->t_state.txn_conf->proxy_response_server_string_len;
+ *length = sm->t_state.txn_conf->proxy_response_server_string_len;
break;
default:
return TS_ERROR;
Modified: trafficserver/traffic/trunk/proxy/InkAPITest.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/InkAPITest.cc?rev=1071495&r1=1071494&r2=1071495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/InkAPITest.cc (original)
+++ trafficserver/traffic/trunk/proxy/InkAPITest.cc Thu Feb 17 03:13:31 2011
@@ -1309,10 +1309,8 @@ REGRESSION_TEST(SDK_API_TSContCreate) (R
TSMutex mutexp = TSMutexCreate();
TSCont contp = TSContCreate(cont_handler, mutexp);
- int lock = 0;
- TSMutexLockTry(mutexp, &lock);
- if (lock) { //mutex is grabbed
+ if (TSMutexLockTry(mutexp)) { // Mutex is grabbed succesfully
TSContCall(contp, (TSEvent) 0, NULL);
TSMutexUnlock(mutexp);
} else { //mutex has problems
@@ -1499,8 +1497,8 @@ REGRESSION_TEST(SDK_API_TSMutexCreate) (
/* This is normal because all locking is from the same thread */
int lock = 0;
- TSMutexLockTry(mutexp, &lock);
- TSMutexLockTry(mutexp, &lock);
+ lock = TSMutexLockTry(mutexp);
+ lock = TSMutexLockTry(mutexp);
if (lock) {
SDK_RPRINT(test, "TSMutexCreate", "TestCase1", TC_PASS, "ok");
@@ -2771,6 +2769,7 @@ REGRESSION_TEST(SDK_API_TSUrl) (Regressi
int url_length_from_2;
int type = 'a';
int type_get;
+ int tmp_len;
bool test_passed_create = false;
bool test_passed_destroy = false;
@@ -2966,7 +2965,7 @@ REGRESSION_TEST(SDK_API_TSUrl) (Regressi
}
//String
- url_string_from_1 = TSUrlStringGet(bufp1, url_loc1, NULL);
+ url_string_from_1 = TSUrlStringGet(bufp1, url_loc1, &tmp_len);
if (strcmp(url_string_from_1, url_expected_string) == 0) {
SDK_RPRINT(test, "TSUrlStringGet", "TestCase1", TC_PASS, "ok");
test_passed_string1 = true;
@@ -2995,7 +2994,7 @@ REGRESSION_TEST(SDK_API_TSUrl) (Regressi
//String Test Case 2
- url_string_from_2 = TSUrlStringGet(bufp2, url_loc2, NULL);
+ url_string_from_2 = TSUrlStringGet(bufp2, url_loc2, &tmp_len);
if (strcmp(url_string_from_2, url_expected_string) == 0) {
SDK_RPRINT(test, "TSUrlStringGet", "TestCase2", TC_PASS, "ok");
test_passed_string2 = true;
@@ -3018,7 +3017,7 @@ REGRESSION_TEST(SDK_API_TSUrl) (Regressi
SDK_RPRINT(test, "TSUrlClone", "TestCase1", TC_FAIL, "Returned TS_ERROR");
} else {
//String Test Case 2
- url_string_from_3 = TSUrlStringGet(bufp3, url_loc3, NULL);
+ url_string_from_3 = TSUrlStringGet(bufp3, url_loc3, &tmp_len);
// Copy Test Case
if (strcmp(url_string_from_1, url_string_from_3) == 0) {
SDK_RPRINT(test, "TSUrlClone", "TestCase1", TC_PASS, "ok");
@@ -7563,6 +7562,7 @@ REGRESSION_TEST(SDK_API_OVERRIDABLE_CONF
TSMgmtFloat fval;
const char* sval;
const char* test_string = "The Apache Traffic Server";
+ int tmp_int;
s->init();
@@ -7604,7 +7604,7 @@ REGRESSION_TEST(SDK_API_OVERRIDABLE_CONF
case TS_RECORDDATATYPE_STRING:
TSHttpTxnConfigStringSet(txnp, key, test_string, -1);
- TSHttpTxnConfigStringGet(txnp, key, &sval, NULL);
+ TSHttpTxnConfigStringGet(txnp, key, &sval, &tmp_int);
if (test_string != sval) {
SDK_RPRINT(test, "TSHttpTxnConfigStringSet", "TestCase1", TC_FAIL, "Failed on %s, expected 17, got %s", conf, sval);
success = false;
Modified: trafficserver/traffic/trunk/proxy/InkIOCoreAPI.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/InkIOCoreAPI.cc?rev=1071495&r1=1071494&r2=1071495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/InkIOCoreAPI.cc (original)
+++ trafficserver/traffic/trunk/proxy/InkIOCoreAPI.cc Thu Feb 17 03:13:31 2011
@@ -229,11 +229,11 @@ TSMutexLock(TSMutex mutexp)
}
-void
-TSMutexLockTry(TSMutex mutexp, int *lock)
+int
+TSMutexLockTry(TSMutex mutexp)
{
sdk_assert(sdk_sanity_check_mutex(mutexp) == TS_SUCCESS);
- *lock = MUTEX_TAKE_TRY_LOCK((ProxyMutex *)mutexp, this_ethread());
+ return MUTEX_TAKE_TRY_LOCK((ProxyMutex *)mutexp, this_ethread());
}
void
Modified: trafficserver/traffic/trunk/proxy/api/ts/ts.h.in
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/api/ts/ts.h.in?rev=1071495&r1=1071494&r2=1071495&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/api/ts/ts.h.in (original)
+++ trafficserver/traffic/trunk/proxy/api/ts/ts.h.in Thu Feb 17 03:13:31 2011
@@ -1260,7 +1260,8 @@ extern "C"
string in the parameter length. This is the same length that
TSUrlLengthGet() returns. The returned string is allocated by a
call to TSmalloc(). It should be freed by a call to TSfree().
- If length is NULL then no attempt is made to dereference it.
+ The length parameter must present, providing storage for the URL
+ string length value.
@param bufp marshal buffer containing the URL you want to get.
@param offset location of the URL within bufp.
@@ -1948,7 +1949,7 @@ extern "C"
Mutexes */
tsapi TSMutex TSMutexCreate(void);
tsapi void TSMutexLock(TSMutex mutexp);
- tsapi void TSMutexLockTry(TSMutex mutexp, int *lock);
+ tsapi int TSMutexLockTry(TSMutex mutexp);
tsapi void TSMutexUnlock(TSMutex mutexp);