Applying license to pjproject

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@49 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjlib/src/pjlib-test/mutex.c b/pjlib/src/pjlib-test/mutex.c
index c7af51b..f82987c 100644
--- a/pjlib/src/pjlib-test/mutex.c
+++ b/pjlib/src/pjlib-test/mutex.c
@@ -1,158 +1,179 @@
-/* $Id$
- */
-#include "test.h"
-#include <pjlib.h>
-
-#if INCLUDE_MUTEX_TEST
-
-#undef TRACE_
-//#define TRACE_(x)   PJ_LOG(3,x)
-#define TRACE_(x)
-
-/* Test witn non-recursive mutex. */
-static int simple_mutex_test(pj_pool_t *pool)
-{
-    pj_status_t rc;
-    pj_mutex_t *mutex;
-
-    PJ_LOG(3,("", "...testing simple mutex"));
-    
-    /* Create mutex. */
-    TRACE_(("", "....create mutex"));
-    rc = pj_mutex_create( pool, "", PJ_MUTEX_SIMPLE, &mutex);
-    if (rc != PJ_SUCCESS) {
-	app_perror("...error: pj_mutex_create", rc);
-	return -10;
-    }
-
-    /* Normal lock/unlock cycle. */
-    TRACE_(("", "....lock mutex"));
-    rc = pj_mutex_lock(mutex);
-    if (rc != PJ_SUCCESS) {
-	app_perror("...error: pj_mutex_lock", rc);
-	return -20;
-    }
-    TRACE_(("", "....unlock mutex"));
-    rc = pj_mutex_unlock(mutex);
-    if (rc != PJ_SUCCESS) {
-	app_perror("...error: pj_mutex_unlock", rc);
-	return -30;
-    }
-    
-    /* Lock again. */
-    TRACE_(("", "....lock mutex"));
-    rc = pj_mutex_lock(mutex);
-    if (rc != PJ_SUCCESS) return -40;
-
-    /* Try-lock should fail. It should not deadlocked. */
-    TRACE_(("", "....trylock mutex"));
-    rc = pj_mutex_trylock(mutex);
-    if (rc == PJ_SUCCESS)
-	PJ_LOG(3,("", "...info: looks like simple mutex is recursive"));
-
-    /* Unlock and done. */
-    TRACE_(("", "....unlock mutex"));
-    rc = pj_mutex_unlock(mutex);
-    if (rc != PJ_SUCCESS) return -50;
-
-    TRACE_(("", "....destroy mutex"));
-    rc = pj_mutex_destroy(mutex);
-    if (rc != PJ_SUCCESS) return -60;
-
-    TRACE_(("", "....done"));
-    return PJ_SUCCESS;
-}
-
-
-/* Test with recursive mutex. */
-static int recursive_mutex_test(pj_pool_t *pool)
-{
-    pj_status_t rc;
-    pj_mutex_t *mutex;
-
-    PJ_LOG(3,("", "...testing recursive mutex"));
-
-    /* Create mutex. */
-    TRACE_(("", "....create mutex"));
-    rc = pj_mutex_create( pool, "", PJ_MUTEX_RECURSE, &mutex);
-    if (rc != PJ_SUCCESS) {
-	app_perror("...error: pj_mutex_create", rc);
-	return -10;
-    }
-
-    /* Normal lock/unlock cycle. */
-    TRACE_(("", "....lock mutex"));
-    rc = pj_mutex_lock(mutex);
-    if (rc != PJ_SUCCESS) {
-	app_perror("...error: pj_mutex_lock", rc);
-	return -20;
-    }
-    TRACE_(("", "....unlock mutex"));
-    rc = pj_mutex_unlock(mutex);
-    if (rc != PJ_SUCCESS) {
-	app_perror("...error: pj_mutex_unlock", rc);
-	return -30;
-    }
-    
-    /* Lock again. */
-    TRACE_(("", "....lock mutex"));
-    rc = pj_mutex_lock(mutex);
-    if (rc != PJ_SUCCESS) return -40;
-
-    /* Try-lock should NOT fail. . */
-    TRACE_(("", "....trylock mutex"));
-    rc = pj_mutex_trylock(mutex);
-    if (rc != PJ_SUCCESS) {
-	app_perror("...error: recursive mutex is not recursive!", rc);
-	return -40;
-    }
-
-    /* Locking again should not fail. */
-    TRACE_(("", "....lock mutex"));
-    rc = pj_mutex_lock(mutex);
-    if (rc != PJ_SUCCESS) {
-	app_perror("...error: recursive mutex is not recursive!", rc);
-	return -45;
-    }
-
-    /* Unlock several times and done. */
-    TRACE_(("", "....unlock mutex 3x"));
-    rc = pj_mutex_unlock(mutex);
-    if (rc != PJ_SUCCESS) return -50;
-    rc = pj_mutex_unlock(mutex);
-    if (rc != PJ_SUCCESS) return -51;
-    rc = pj_mutex_unlock(mutex);
-    if (rc != PJ_SUCCESS) return -52;
-
-    TRACE_(("", "....destroy mutex"));
-    rc = pj_mutex_destroy(mutex);
-    if (rc != PJ_SUCCESS) return -60;
-
-    TRACE_(("", "....done"));
-    return PJ_SUCCESS;
-}
-
-int mutex_test(void)
-{
-    pj_pool_t *pool;
-    int rc;
-
-    pool = pj_pool_create(mem, "", 4000, 4000, NULL);
-
-    rc = simple_mutex_test(pool);
-    if (rc != 0)
-	return rc;
-
-    rc = recursive_mutex_test(pool);
-    if (rc != 0)
-	return rc;
-
-    pj_pool_release(pool);
-
-    return 0;
-}
-
-#else
-int dummy_mutex_test;
-#endif
-
+/* $Id$

+ */

+/* 

+ * PJLIB - PJ Foundation Library

+ * (C)2003-2005 Benny Prijono <bennylp@bulukucing.org>

+ *

+ * Author:

+ *  Benny Prijono <bennylp@bulukucing.org>

+ *

+ * This library is free software; you can redistribute it and/or

+ * modify it under the terms of the GNU Lesser General Public

+ * License as published by the Free Software Foundation; either

+ * version 2.1 of the License, or (at your option) any later version.

+ * 

+ * This library is distributed in the hope that it will be useful,

+ * but WITHOUT ANY WARRANTY; without even the implied warranty of

+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU

+ * Lesser General Public License for more details.

+ * 

+ * You should have received a copy of the GNU Lesser General Public

+ * License along with this library; if not, write to the Free Software

+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ */

+#include "test.h"

+#include <pjlib.h>

+

+#if INCLUDE_MUTEX_TEST

+

+#undef TRACE_

+//#define TRACE_(x)   PJ_LOG(3,x)

+#define TRACE_(x)

+

+/* Test witn non-recursive mutex. */

+static int simple_mutex_test(pj_pool_t *pool)

+{

+    pj_status_t rc;

+    pj_mutex_t *mutex;

+

+    PJ_LOG(3,("", "...testing simple mutex"));

+    

+    /* Create mutex. */

+    TRACE_(("", "....create mutex"));

+    rc = pj_mutex_create( pool, "", PJ_MUTEX_SIMPLE, &mutex);

+    if (rc != PJ_SUCCESS) {

+	app_perror("...error: pj_mutex_create", rc);

+	return -10;

+    }

+

+    /* Normal lock/unlock cycle. */

+    TRACE_(("", "....lock mutex"));

+    rc = pj_mutex_lock(mutex);

+    if (rc != PJ_SUCCESS) {

+	app_perror("...error: pj_mutex_lock", rc);

+	return -20;

+    }

+    TRACE_(("", "....unlock mutex"));

+    rc = pj_mutex_unlock(mutex);

+    if (rc != PJ_SUCCESS) {

+	app_perror("...error: pj_mutex_unlock", rc);

+	return -30;

+    }

+    

+    /* Lock again. */

+    TRACE_(("", "....lock mutex"));

+    rc = pj_mutex_lock(mutex);

+    if (rc != PJ_SUCCESS) return -40;

+

+    /* Try-lock should fail. It should not deadlocked. */

+    TRACE_(("", "....trylock mutex"));

+    rc = pj_mutex_trylock(mutex);

+    if (rc == PJ_SUCCESS)

+	PJ_LOG(3,("", "...info: looks like simple mutex is recursive"));

+

+    /* Unlock and done. */

+    TRACE_(("", "....unlock mutex"));

+    rc = pj_mutex_unlock(mutex);

+    if (rc != PJ_SUCCESS) return -50;

+

+    TRACE_(("", "....destroy mutex"));

+    rc = pj_mutex_destroy(mutex);

+    if (rc != PJ_SUCCESS) return -60;

+

+    TRACE_(("", "....done"));

+    return PJ_SUCCESS;

+}

+

+

+/* Test with recursive mutex. */

+static int recursive_mutex_test(pj_pool_t *pool)

+{

+    pj_status_t rc;

+    pj_mutex_t *mutex;

+

+    PJ_LOG(3,("", "...testing recursive mutex"));

+

+    /* Create mutex. */

+    TRACE_(("", "....create mutex"));

+    rc = pj_mutex_create( pool, "", PJ_MUTEX_RECURSE, &mutex);

+    if (rc != PJ_SUCCESS) {

+	app_perror("...error: pj_mutex_create", rc);

+	return -10;

+    }

+

+    /* Normal lock/unlock cycle. */

+    TRACE_(("", "....lock mutex"));

+    rc = pj_mutex_lock(mutex);

+    if (rc != PJ_SUCCESS) {

+	app_perror("...error: pj_mutex_lock", rc);

+	return -20;

+    }

+    TRACE_(("", "....unlock mutex"));

+    rc = pj_mutex_unlock(mutex);

+    if (rc != PJ_SUCCESS) {

+	app_perror("...error: pj_mutex_unlock", rc);

+	return -30;

+    }

+    

+    /* Lock again. */

+    TRACE_(("", "....lock mutex"));

+    rc = pj_mutex_lock(mutex);

+    if (rc != PJ_SUCCESS) return -40;

+

+    /* Try-lock should NOT fail. . */

+    TRACE_(("", "....trylock mutex"));

+    rc = pj_mutex_trylock(mutex);

+    if (rc != PJ_SUCCESS) {

+	app_perror("...error: recursive mutex is not recursive!", rc);

+	return -40;

+    }

+

+    /* Locking again should not fail. */

+    TRACE_(("", "....lock mutex"));

+    rc = pj_mutex_lock(mutex);

+    if (rc != PJ_SUCCESS) {

+	app_perror("...error: recursive mutex is not recursive!", rc);

+	return -45;

+    }

+

+    /* Unlock several times and done. */

+    TRACE_(("", "....unlock mutex 3x"));

+    rc = pj_mutex_unlock(mutex);

+    if (rc != PJ_SUCCESS) return -50;

+    rc = pj_mutex_unlock(mutex);

+    if (rc != PJ_SUCCESS) return -51;

+    rc = pj_mutex_unlock(mutex);

+    if (rc != PJ_SUCCESS) return -52;

+

+    TRACE_(("", "....destroy mutex"));

+    rc = pj_mutex_destroy(mutex);

+    if (rc != PJ_SUCCESS) return -60;

+

+    TRACE_(("", "....done"));

+    return PJ_SUCCESS;

+}

+

+int mutex_test(void)

+{

+    pj_pool_t *pool;

+    int rc;

+

+    pool = pj_pool_create(mem, "", 4000, 4000, NULL);

+

+    rc = simple_mutex_test(pool);

+    if (rc != 0)

+	return rc;

+

+    rc = recursive_mutex_test(pool);

+    if (rc != 0)

+	return rc;

+

+    pj_pool_release(pool);

+

+    return 0;

+}

+

+#else

+int dummy_mutex_test;

+#endif

+