Index: /pjproject/trunk/pjlib-util/build/pjlib_util.dsp
===================================================================
--- /pjproject/trunk/pjlib-util/build/pjlib_util.dsp	(revision 261)
+++ /pjproject/trunk/pjlib-util/build/pjlib_util.dsp	(revision 262)
@@ -42,5 +42,5 @@
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /Ob2 /I "../include" /I "../../pjlib/include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D PJ_WIN32=1 /D PJ_M_I386=1 /FR /YX /FD /c
+# ADD CPP /nologo /MD /W4 /GX /Zi /O2 /Ob2 /I "../include" /I "../../pjlib/include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D PJ_WIN32=1 /D PJ_M_I386=1 /FR /YX /FD /c
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
 # ADD RSC /l 0x409 /d "NDEBUG"
@@ -65,5 +65,5 @@
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../include" /I "../../pjlib/include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D PJ_WIN32=1 /D PJ_M_I386=1 /FR /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "../include" /I "../../pjlib/include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D PJ_WIN32=1 /D PJ_M_I386=1 /FR /YX /FD /GZ /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
Index: /pjproject/trunk/pjsip-apps/build/pjsip_perf.dsp
===================================================================
--- /pjproject/trunk/pjsip-apps/build/pjsip_perf.dsp	(revision 261)
+++ /pjproject/trunk/pjsip-apps/build/pjsip_perf.dsp	(revision 262)
@@ -43,5 +43,5 @@
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../pjsip/include" /I "../../pjmedia/include" /I "../../pjlib-util/include" /I "../../pjlib/include" /D "NDEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W4 /GX /O2 /I "../../pjsip/include" /I "../../pjmedia/include" /I "../../pjlib-util/include" /I "../../pjlib/include" /D "NDEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
 # ADD RSC /l 0x409 /d "NDEBUG"
@@ -67,5 +67,5 @@
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../pjsip/include" /I "../../pjmedia/include" /I "../../pjlib-util/include" /I "../../pjlib/include" /D "_DEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "../../pjsip/include" /I "../../pjmedia/include" /I "../../pjlib-util/include" /I "../../pjlib/include" /D "_DEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
Index: /pjproject/trunk/pjsip-apps/src/pjsip-perf/main.c
===================================================================
--- /pjproject/trunk/pjsip-apps/src/pjsip-perf/main.c	(revision 261)
+++ /pjproject/trunk/pjsip-apps/src/pjsip-perf/main.c	(revision 262)
@@ -21,5 +21,5 @@
 #include <stdlib.h>		/* atoi */
 
-#define THIS_FILE   "main.c"
+//#define THIS_FILE   "main.c"
 
 pjsip_perf_settings settings;
@@ -40,5 +40,5 @@
     pj_status_t status;
 
-    settings.stateless = 1;
+    settings.stateless = 0;
     settings.start_rate = 10;
     settings.max_capacity = 64;
@@ -538,14 +538,30 @@
 	PJ_TIME_VAL_SUB(batch->spawned_time, batch->start_time);
 
-	PJ_LOG(3,(THIS_FILE, "%02d:%02d:%02d: %d tasks in %d.%ds (%d tasks/sec), "
-			     "spawn=time=%d.%d",
-			     (sess_elapsed.sec / 3600),
-			     (sess_elapsed.sec % 3600) / 60,
-			     (sess_elapsed.sec % 60),
-			     batch->rate,
-			     elapsed.sec, elapsed.msec,
-			     batch->rate * 1000 / msec,
-			     batch->spawned_time.sec,
-			     batch->spawned_time.msec));
+	if (batch->failed) {
+	    PJ_LOG(2,(THIS_FILE, 
+		      "%02d:%02d:%02d: %d tasks in %d.%ds (%d tasks/sec), "
+		      "spawn=time=%d.%d, FAILED=%d",
+		      (sess_elapsed.sec / 3600),
+		      (sess_elapsed.sec % 3600) / 60,
+		      (sess_elapsed.sec % 60),
+		      batch->rate,
+		      elapsed.sec, elapsed.msec,
+		      batch->rate * 1000 / msec,
+		      batch->spawned_time.sec,
+		      batch->spawned_time.msec,
+		      batch->failed));
+	} else {
+	    PJ_LOG(3,(THIS_FILE, 
+		      "%02d:%02d:%02d: %d tasks in %d.%ds (%d tasks/sec), "
+		      "spawn=time=%d.%d",
+		      (sess_elapsed.sec / 3600),
+		      (sess_elapsed.sec % 3600) / 60,
+		      (sess_elapsed.sec % 60),
+		      batch->rate,
+		      elapsed.sec, elapsed.msec,
+		      batch->rate * 1000 / msec,
+		      batch->spawned_time.sec,
+		      batch->spawned_time.msec));
+	}
 
 	if (!settings.session->stopping) {
@@ -624,8 +640,10 @@
 
     /// 
+#if 0
     elapsed = batch->spawned_time;
     PJ_TIME_VAL_SUB(elapsed, batch->start_time);
     PJ_LOG(2,(THIS_FILE, "%d requests sent in %d ms", batch->started,
 			 PJ_TIME_VAL_MSEC(elapsed)));
+#endif
 
     sess->total_created += batch->started;
