--- lib/tests/Makefile.in.orig 2015-10-16 13:22:19 UTC +++ lib/tests/Makefile.in @@ -167,7 +167,7 @@ else ifeq ($(OS_ARCH),OS2) $(LINK) $(EXEFLAGS) $(LDOPTS) $< $(LIBPLC) $(LIBPLDS) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS) else - $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(EXTRA_LIBS) -o $@ + $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS) -o $@ endif endif endif --- pr/tests/Makefile.in.orig 2015-10-16 13:22:19 UTC +++ pr/tests/Makefile.in @@ -489,17 +489,18 @@ endif ALWAYS: runtests:: $(PROGS) ALWAYS - @$(ECHO) "\nNSPR Test Results - $(OBJDIR)\n" - @$(ECHO) "BEGIN\t\t\t`date`" - @$(ECHO) "NSPR_TEST_LOGFILE\t$(LOGFILE)\n" - @$(ECHO) "Test\t\t\tResult\n" + @$(ECHO) "NSPR Test Results - $(OBJDIR)" + @$(ECHO) "BEGIN `date`" + @$(ECHO) "Test Result" @cd $(OBJDIR); for i in $(PROGRAMS); do \ - $(ECHO) "$$i\c"; \ - ./$$i >> $(LOGFILE) 2>&1 ; \ + printf "$$i"; \ + ./$$i > $$i.output 2>&1; \ if [ 0 = $$? ] ; then \ - $(ECHO) "\t\t\tPassed"; \ - else \ - $(ECHO) "\t\t\tFAILED"; \ - fi; \ + $(ECHO) " Passed"; \ + rm $$i.output; \ + else \ + $(ECHO) " FAILED"; \ + cat $$i.output; \ + fi; \ done - @$(ECHO) "\nEND\t\t`date`\n" + @$(ECHO) "END `date`" --- pr/tests/cleanup.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/cleanup.c @@ -15,7 +15,7 @@ static void PR_CALLBACK Thread(void *sleep) { - PR_Sleep(PR_SecondsToInterval((PRUint32)sleep)); + PR_Sleep(PR_SecondsToInterval((intptr_t)sleep)); printf("Thread exiting\n"); } @@ -39,7 +39,8 @@ int main(int argc, char **argv) PRThreadScope type = PR_LOCAL_THREAD; PRFileDesc *err = PR_GetSpecialFD(PR_StandardError); PLOptState *opt = PL_CreateOptState(argc, argv, "Ghs:S:t:cC:"); - PRIntn concurrency = 1, child_sleep = 10, main_sleep = 5, threads = 1; + PRIntn concurrency = 1, main_sleep = 5, threads = 1; + intptr_t child_sleep = 10; PR_STDIO_INIT(); while (PL_OPT_EOL != (os = PL_GetNextOpt(opt))) @@ -80,7 +81,7 @@ int main(int argc, char **argv) (PR_LOCAL_THREAD == type) ? "LOCAL" : "GLOBAL"); PR_fprintf(err, "\tConcurrency: %d\n", concurrency); PR_fprintf(err, "\tNumber of threads: %d\n", threads); - PR_fprintf(err, "\tThread sleep: %d\n", child_sleep); + PR_fprintf(err, "\tThread sleep: %d\n", (int)child_sleep); PR_fprintf(err, "\tMain sleep: %d\n", main_sleep); PR_fprintf(err, "\tCleanup will %sbe called\n\n", (cleanup) ? "" : "NOT "); --- pr/tests/cltsrv.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/cltsrv.c @@ -887,7 +887,7 @@ int main(int argc, char** argv) { PRUintn index; PRBool boolean; - CSClient_t *client; + CSClient_t *client = NULL; PRStatus rv, joinStatus; CSServer_t *server = NULL; --- pr/tests/cvar.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/cvar.c @@ -135,14 +135,14 @@ static int alive; static void PR_CALLBACK CXReader(void *arg) { CircBuf *cbp = (CircBuf *)arg; - PRInt32 i, n; + intptr_t i, n; void *data; n = count / 2; for (i = 0; i < n; i++) { data = GetCBData(cbp); - if ((int)data != i) - if (debug_mode) printf("data mismatch at for i = %d usec\n", i); + if ((intptr_t)data != i) + if (debug_mode) printf("data mismatch at for i = %ld usec\n", (long)i); } PR_EnterMonitor(mon); @@ -154,7 +154,7 @@ static void PR_CALLBACK CXReader(void *a static void PR_CALLBACK CXWriter(void *arg) { CircBuf *cbp = (CircBuf *)arg; - PRInt32 i, n; + intptr_t i, n; n = count / 2; for (i = 0; i < n; i++) --- pr/tests/cvar2.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/cvar2.c @@ -95,7 +95,7 @@ PrivateCondVarThread(void *_info) for (index=0; indexloops; index++) { PR_Lock(info->lock); if (*info->tcount == 0) { - DPRINTF(("PrivateCondVarThread: thread 0x%lx waiting on cvar = 0x%lx\n", + DPRINTF(("PrivateCondVarThread: thread %p waiting on cvar = %p\n", PR_GetCurrentThread(), info->cvar)); PR_WaitCondVar(info->cvar, info->timeout); } @@ -108,8 +108,8 @@ PrivateCondVarThread(void *_info) PR_Lock(info->exitlock); (*info->exitcount)++; PR_NotifyCondVar(info->exitcvar); -DPRINTF(("PrivateCondVarThread: thread 0x%lx notified exitcvar = 0x%lx cnt = %ld\n", - PR_GetCurrentThread(), info->exitcvar,(*info->exitcount))); +DPRINTF(("PrivateCondVarThread: thread %p notified exitcvar = %p cnt = %d\n", + PR_GetCurrentThread(), info->exitcvar,(int)(*info->exitcount))); PR_Unlock(info->exitlock); } #if 0 @@ -157,7 +157,7 @@ CreateTestThread(threadinfo *info, void CondVarTestSUU(void *_arg) { - PRInt32 arg = (PRInt32)_arg; + PRInt32 arg = (PRInt32)(intptr_t)_arg; PRInt32 index, loops; threadinfo *list; PRLock *sharedlock; @@ -189,7 +189,7 @@ CondVarTestSUU(void *_arg) PR_TRUE, PR_LOCAL_THREAD); index++; - DPRINTF(("CondVarTestSUU: created thread 0x%lx\n",list[index].thread)); + DPRINTF(("CondVarTestSUU: created thread %p\n",list[index].thread)); } for (loops = 0; loops < count; loops++) { @@ -199,7 +199,7 @@ CondVarTestSUU(void *_arg) (*list[index].tcount)++; PR_NotifyCondVar(list[index].cvar); PR_Unlock(list[index].lock); - DPRINTF(("PrivateCondVarThread: thread 0x%lx notified cvar = 0x%lx\n", + DPRINTF(("PrivateCondVarThread: thread %p notified cvar = %p\n", PR_GetCurrentThread(), list[index].cvar)); } @@ -227,7 +227,7 @@ CondVarTestSUU(void *_arg) void CondVarTestSUK(void *_arg) { - PRInt32 arg = (PRInt32)_arg; + PRInt32 arg = (PRInt32)(intptr_t)_arg; PRInt32 index, loops; threadinfo *list; PRLock *sharedlock; @@ -301,7 +301,7 @@ CondVarTestSUK(void *_arg) void CondVarTestPUU(void *_arg) { - PRInt32 arg = (PRInt32)_arg; + PRInt32 arg = (PRInt32)(intptr_t)_arg; PRInt32 index, loops; threadinfo *list; PRLock *sharedlock; @@ -336,7 +336,7 @@ CondVarTestPUU(void *_arg) PR_FALSE, PR_LOCAL_THREAD); - DPRINTF(("CondVarTestPUU: created thread 0x%lx\n",list[index].thread)); + DPRINTF(("CondVarTestPUU: created thread %p\n",list[index].thread)); index++; tcount++; } @@ -354,8 +354,8 @@ CondVarTestPUU(void *_arg) PR_Lock(exitlock); /* Wait for threads to finish */ while(exitcount < arg) { -DPRINTF(("CondVarTestPUU: thread 0x%lx waiting on exitcvar = 0x%lx cnt = %ld\n", - PR_GetCurrentThread(), exitcvar, exitcount)); +DPRINTF(("CondVarTestPUU: thread %p waiting on exitcvar = %p cnt = %d\n", + PR_GetCurrentThread(), exitcvar, (int)exitcount)); PR_WaitCondVar(exitcvar, PR_SecondsToInterval(60)); } PR_ASSERT(exitcount >= arg); @@ -365,7 +365,7 @@ DPRINTF(("CondVarTestPUU: thread 0x%lx w /* Join all the threads */ for(index=0; index<(arg); index++) { - DPRINTF(("CondVarTestPUU: joining thread 0x%lx\n",list[index].thread)); + DPRINTF(("CondVarTestPUU: joining thread %p\n",list[index].thread)); PR_JoinThread(list[index].thread); if (list[index].internal) { PR_Lock(list[index].lock); @@ -387,7 +387,7 @@ DPRINTF(("CondVarTestPUU: thread 0x%lx w void CondVarTestPUK(void *_arg) { - PRInt32 arg = (PRInt32)_arg; + PRInt32 arg = (PRInt32)(intptr_t)_arg; PRInt32 index, loops; threadinfo *list; PRLock *sharedlock; @@ -468,7 +468,7 @@ CondVarTestPUK(void *_arg) void CondVarTest(void *_arg) { - PRInt32 arg = (PRInt32)_arg; + PRInt32 arg = (PRInt32)(intptr_t)_arg; PRInt32 index, loops; threadinfo *list; PRLock *sharedlock; @@ -601,7 +601,7 @@ CondVarTest(void *_arg) void CondVarTimeoutTest(void *_arg) { - PRInt32 arg = (PRInt32)_arg; + PRInt32 arg = (PRInt32)(intptr_t)_arg; PRInt32 index, loops; threadinfo *list; PRLock *sharedlock; @@ -712,7 +712,7 @@ CondVarTimeoutTest(void *_arg) void CondVarMixedTest(void *_arg) { - PRInt32 arg = (PRInt32)_arg; + PRInt32 arg = (PRInt32)(intptr_t)_arg; PRInt32 index, loops; threadinfo *list; PRLock *sharedlock; @@ -802,7 +802,7 @@ CondVarMixedTest(void *_arg) for(index=0; index<(arg*4); index+=3) { PR_Lock(list[index].lock); - *list[index].tcount++; + list[index].tcount++; PR_NotifyCondVar(list[index].cvar); PR_Unlock(list[index].lock); @@ -873,7 +873,7 @@ static void Measure(void (*func)(void *) double d; start = PR_IntervalNow(); - (*func)((void *)arg); + (*func)((void *)(intptr_t)arg); stop = PR_IntervalNow(); d = (double)PR_IntervalToMicroseconds(stop - start); @@ -932,7 +932,7 @@ default_threads, default_threads*2, defa PR_SetConcurrency(2); for (threads = default_threads; threads < default_threads*5; threads+=default_threads) { - printf("\n%ld Thread tests\n", threads); + printf("\n%d Thread tests\n", (int)threads); Measure(CondVarTestSUU, threads, "Condvar simple test shared UU"); Measure(CondVarTestSUK, threads, "Condvar simple test shared UK"); Measure(CondVarTestPUU, threads, "Condvar simple test priv UU"); --- pr/tests/foreign.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/foreign.c @@ -202,7 +202,7 @@ static void OneShot(void *arg) PRFileDesc *fd; PRDir *dir; PRFileDesc *pair[2]; - PRIntn test = (PRIntn)arg; + intptr_t test = (intptr_t)arg; for (test = 0; test < 12; ++test) { @@ -302,7 +302,7 @@ static void OneShot(void *arg) int main(int argc, char **argv) { PRStatus rv; - PRInt32 thread_cnt = DEFAULT_THREAD_COUNT; + intptr_t thread_cnt = DEFAULT_THREAD_COUNT; PLOptStatus os; PLOptState *opt = PL_CreateOptState(argc, argv, "dt:"); --- pr/tests/forktest.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/forktest.c @@ -47,7 +47,7 @@ ClientThreadFunc(void *arg) { PRNetAddr addr; PRFileDesc *sock = NULL; - PRInt32 tmp = (PRInt32)arg; + intptr_t tmp = (intptr_t)arg; /* * Make sure the PR_Accept call will block @@ -143,7 +143,7 @@ DoIO(void) goto finish; } clientThread = PR_CreateThread( PR_USER_THREAD, ClientThreadFunc, - (void *) PR_ntohs(addr.inet.port), PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, + (void *)(intptr_t)PR_ntohs(addr.inet.port), PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_JOINABLE_THREAD, 0); if (clientThread == NULL) { fprintf(stderr, "Cannot create client thread: (%d, %d)\n", @@ -151,6 +151,9 @@ DoIO(void) failed_already = 1; goto finish; } + printf("Wait one second before accept\n"); + fflush(stdout); + PR_Sleep(PR_SecondsToInterval(1)); printf("Accepting connection at port %hu\n", PR_ntohs(addr.inet.port)); fflush(stdout); sock = PR_Accept(listenSock, &addr, PR_SecondsToInterval(5)); --- pr/tests/getai.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/getai.c @@ -13,8 +13,13 @@ int main(int argc, char **argv) PRAddrInfo *ai; void *iter; PRNetAddr addr; + const char *host; - ai = PR_GetAddrInfoByName(argv[1], PR_AF_UNSPEC, PR_AI_ADDRCONFIG); + if (argc > 1) + host = argv[1]; + else + host = "www.FreeBSD.org"; + ai = PR_GetAddrInfoByName(host, PR_AF_UNSPEC, PR_AI_ADDRCONFIG); if (ai == NULL) { fprintf(stderr, "PR_GetAddrInfoByName failed: (%d, %d)\n", PR_GetError(), PR_GetOSError()); --- pr/tests/instrumt.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/instrumt.c @@ -36,6 +36,7 @@ */ #include +#define DEBUG #include #include #include @@ -50,7 +51,6 @@ #define COUNT_LIMIT (10 * ( 1024)) #define SMALL_TRACE_BUFSIZE ( 60 * 1024 ) - typedef enum { CountLoop = 1, @@ -78,10 +78,10 @@ static void Help(void) static void ListCounters(void) { +#if defined(DEBUG) || defined(FORCE_NSPR_COUNTERS) PR_DEFINE_COUNTER( qh ); PR_DEFINE_COUNTER( rh ); const char *qn, *rn, *dn; - const char **qname = &qn, **rname = &rn, **desc = &dn; PRUint32 tCtr; PR_INIT_COUNTER_HANDLE( qh, NULL ); @@ -92,7 +92,7 @@ static void ListCounters(void) PR_FIND_NEXT_COUNTER_RNAME(rh, rh, qh ); while ( rh != NULL ) { - PR_GET_COUNTER_NAME_FROM_HANDLE( rh, qname, rname, desc ); + PR_GET_COUNTER_NAME_FROM_HANDLE( rh, &qn, &rn, &dn ); PR_GET_COUNTER(tCtr, rh); PR_LOG( lm, msgLevel, ( "QName: %s RName: %s Desc: %s Value: %ld\n", @@ -101,15 +101,15 @@ static void ListCounters(void) } PR_FIND_NEXT_COUNTER_QNAME(qh, qh); } - return; +#endif } /* end ListCounters() */ static void ListTraces(void) { +#if defined(DEBUG) || defined(FORCE_NSPR_TRACE) PR_DEFINE_TRACE( qh ); PR_DEFINE_TRACE( rh ); const char *qn, *rn, *dn; - const char **qname = &qn, **rname = &rn, **desc = &dn; PR_INIT_TRACE_HANDLE( qh, NULL ); PR_FIND_NEXT_TRACE_QNAME(qh, qh ); @@ -119,7 +119,7 @@ static void ListTraces(void) PR_FIND_NEXT_TRACE_RNAME(rh, rh, qh ); while ( rh != NULL ) { - PR_GET_TRACE_NAME_FROM_HANDLE( rh, qname, rname, desc ); + PR_GET_TRACE_NAME_FROM_HANDLE( rh, &qn, &rn, &dn ); PR_LOG( lm, msgLevel, ( "QName: %s RName: %s Desc: %s", qn, rn, dn )); @@ -127,7 +127,7 @@ static void ListTraces(void) } PR_FIND_NEXT_TRACE_QNAME(qh, qh); } - return; +#endif } /* end ListCounters() */ @@ -326,7 +326,7 @@ static void PR_CALLBACK SampleTrace( voi */ static void TraceTest( void ) { - PRInt32 i; + PRIntn i = 0; PRInt32 size; PR_DEFINE_TRACE( th ); PRThread *t1, *t2; --- pr/tests/io_timeout.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/io_timeout.c @@ -22,11 +22,13 @@ /* Used to get the command line option */ #include "plgetopt.h" +#include #include +#include #include "nspr.h" #define NUM_THREADS 1 -#define BASE_PORT 8000 +#define BASE_PORT 38011 #define DEFAULT_ACCEPT_TIMEOUT 2 typedef struct threadInfo { @@ -38,7 +40,7 @@ typedef struct threadInfo { } threadInfo; PRIntn failed_already = 0; -PRIntn debug_mode = 0; +PRIntn debug_mode = 1; #define LOCAL_SCOPE_STRING "LOCAL scope" #define GLOBAL_SCOPE_STRING "GLOBAL scope" @@ -54,7 +56,7 @@ thread_main(void *_info) PRFileDesc *clientSock; PRStatus rv; PRThreadScope tscope; - char *scope_str; + const char *scope_str; if (debug_mode) @@ -73,6 +75,7 @@ thread_main(void *_info) break; default: PR_NOT_REACHED("Invalid thread scope"); + scope_str = NULL; break; } printf("thread id %d, scope %s\n", info->id, scope_str); @@ -91,7 +94,12 @@ thread_main(void *_info) rv = PR_Bind(listenSock, &listenAddr); if (rv == PR_FAILURE) { if (debug_mode) - printf("unable to bind\n"); + printf("unable to bind to %d: %s\n", + BASE_PORT + info->id, strerror(PR_GetOSError())); + if (PR_GetOSError() == EADDRINUSE) { + printf("can not proceed with this test\n"); + exit(0); + } failed_already=1; goto dead; } @@ -113,8 +121,9 @@ thread_main(void *_info) if (clientSock == NULL) { if (PR_GetError() == PR_IO_TIMEOUT_ERROR) { if (debug_mode) { - printf("PR_Accept() timeout worked!\n"); - printf("TEST PASSED! PR_Accept() returned error %d\n", + printf("PR_Accept() timeout worked!\n" + "TEST PASSED! PR_Accept() returned error " + "PR_IO_TIMEOUT_ERROR (%ld)\n", PR_IO_TIMEOUT_ERROR); } } else { --- pr/tests/layer.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/layer.c @@ -45,7 +45,10 @@ static PRUint16 default_port = 12273; static PRFileDesc *PushLayer(PRFileDesc *stack) { PRFileDesc *layer = PR_CreateIOLayerStub(identity, &myMethods); - PRStatus rv = PR_PushIOLayer(stack, PR_GetLayersIdentity(stack), layer); +#if defined(DEBUG) || defined(FORCE_PR_ASSERT) + PRStatus rv = /* we only need rv for PR_ASSERT() */ +#endif + PR_PushIOLayer(stack, PR_GetLayersIdentity(stack), layer); if (verbosity > quiet) PR_fprintf(logFile, "Pushed layer(0x%x) onto stack(0x%x)\n", layer, stack); PR_ASSERT(PR_SUCCESS == rv); --- pr/tests/lazyinit.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/lazyinit.c @@ -43,7 +43,6 @@ int main(int argc, char **argv) char *path = NULL; PRDir *dir = NULL; PRLock *ml = NULL; - PRCondVar *cv = NULL; PRThread *thread = NULL; PRIntervalTime interval = 0; PRFileDesc *file, *udp, *tcp, *pair[2]; --- pr/tests/lltest.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/lltest.c @@ -545,6 +545,7 @@ TestConversion( void ) return; } +#if 0 static void ShiftCompileOnly() { /* @@ -561,6 +562,7 @@ static void ShiftCompileOnly() LL_ISHL(ia, 49, 32); } /* ShiftCompileOnly */ +#endif /* @@ -635,7 +637,6 @@ TestArithmetic( void ) PRInt64 largeValPlusOne = LL_INIT( 0x00000002, 0x00000000 ); PRInt64 largeValTimesTwo = LL_INIT( 0x00000003, 0xfffffffe ); PRInt64 largeMultCand = LL_INIT( 0x00000000, 0x7fffffff ); - PRInt64 largeMinusMultCand = LL_INIT( 0xffffffff, 0x10000001 ); PRInt64 largeMultCandx64K = LL_INIT( 0x00007fff, 0xffff0000 ); PRInt64 largeNumSHL5 = LL_INIT( 0x0000001f, 0xffffffe0 ); PRInt64 result, result2; --- pr/tests/mbcs.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/mbcs.c @@ -54,13 +54,12 @@ char *dirName = NULL; /* directory nam /* ** Traverse directory */ -static void TraverseDirectory( unsigned char *dir ) +static void TraverseDirectory(const char *dir) { PRDir *cwd; PRDirEntry *dirEntry; PRFileInfo info; PRStatus rc; - PRInt32 err; PRFileDesc *fd; char nextDir[256]; char file[256]; @@ -81,16 +80,16 @@ static void TraverseDirectory( unsigned exit(1); } if ( PR_FILE_FILE == info.type ) { - printf("File: %s \tsize: %ld\n", dirEntry->name, info.size ); + printf("File: %s \tsize: %ld\n", dirEntry->name, (long)info.size ); fd = PR_Open( file, PR_RDONLY, 0 ); if ( NULL == fd ) { printf("PR_Open() failed. Error: %ld, OSError: %ld\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); } rc = PR_Close( fd ); if ( PR_FAILURE == rc ) { printf("PR_Close() failed. Error: %ld, OSError: %ld\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); } } else if ( PR_FILE_DIRECTORY == info.type ) { sprintf( nextDir, "%s/%s", dir, dirEntry->name ); --- pr/tests/nbconn.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/nbconn.c @@ -54,8 +54,7 @@ int main(int argc, char **argv) PRStatus rv; PRSocketOptionData optData; const char *hostname = NULL; - PRIntn default_case, n, bytes_read, bytes_sent; - PRInt32 failed_already = 0; + PRIntn default_case, n; /* * -d debug mode @@ -164,7 +163,7 @@ int main(int argc, char **argv) exit(1); } printf( "PR_GetConnectStatus: connect failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); } PR_Close(sock); printf( "PASS\n"); @@ -235,7 +234,7 @@ connection_success_test() PRThread *thr = NULL; Server_Param sp; char send_buf[DATA_BUF_SIZE], recv_buf[DATA_BUF_SIZE]; - PRIntn default_case, n, bytes_read, bytes_sent; + PRIntn n, bytes_read, bytes_sent; PRIntn failed_already = 0; /* @@ -311,7 +310,7 @@ connection_success_test() failed_already=1; goto def_exit; } - DPRINTF(("Created TCP_Server thread [0x%x]\n",thr)); + DPRINTF(("Created TCP_Server thread [%p]\n", thr)); pd.fd = conn_fd; pd.in_flags = PR_POLL_WRITE | PR_POLL_EXCEPT; n = PR_Poll(&pd, 1, PR_INTERVAL_NO_TIMEOUT); @@ -390,7 +389,7 @@ connection_success_test() DPRINTF(("Data integrity verified\n")); } else { fprintf(stderr,"PR_GetConnectStatus: connect failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already = 1; goto def_exit; } @@ -496,7 +495,6 @@ connection_failure_test() goto def_exit; } if (PR_GetConnectStatus(&pd) == PR_SUCCESS) { - PRInt32 rv; fprintf(stderr,"PR_GetConnectStatus succeeded, expected to fail\n"); failed_already = 1; goto def_exit; --- pr/tests/nblayer.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/nblayer.c @@ -299,7 +299,7 @@ static PRStatus PR_CALLBACK MyClose(PRFi static PRInt16 PR_CALLBACK MyPoll( PRFileDesc *fd, PRInt16 in_flags, PRInt16 *out_flags) { - PRInt16 my_flags, new_flags; + PRInt16 my_flags = -1, new_flags; PRFilePrivate *mine = (PRFilePrivate*)fd->secret; if (0 != (PR_POLL_READ & in_flags)) { @@ -342,7 +342,7 @@ static PRFileDesc * PR_CALLBACK MyAccept PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout) { PRStatus rv; - PRFileDesc *newfd, *layer = fd; + PRFileDesc *newfd; PRFileDesc *newstack; PRFilePrivate *newsecret; @@ -428,6 +428,8 @@ static PRInt32 PR_CALLBACK MyRecv( mine->rcvinprogress = 0; return mine->rcvreq; /* << -- that's it! */ default: + PR_ASSERT(!"How did I get this mine->rcvstate?"); + rv = -1; break; } } while (-1 != rv); @@ -484,6 +486,8 @@ static PRInt32 PR_CALLBACK MySend( mine->xmtinprogress = 0; return mine->xmtreq; /* <<-- That's the one! */ default: + PR_ASSERT(!"How did I get this mine->xmtstate?"); + rv = -1; break; } } while (-1 != rv); --- pr/tests/nonblock.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/nonblock.c @@ -39,7 +39,7 @@ static void PR_CALLBACK clientThreadFunc(void *arg) { - PRUintn port = (PRUintn)arg; + intptr_t port = (intptr_t)arg; PRFileDesc *sock; PRNetAddr addr; char buf[CHUNK_SIZE]; @@ -147,7 +147,7 @@ static PRIntn PR_CALLBACK RealMain( PRIn printf("%s", buf); clientThread = PR_CreateThread(PR_USER_THREAD, - clientThreadFunc, (void *) listenPort, + clientThreadFunc, (void *) (intptr_t)listenPort, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, 0); if (clientThread == NULL) { @@ -191,7 +191,7 @@ static PRIntn PR_CALLBACK RealMain( PRIn if (retVal != -1 || PR_GetError() != PR_WOULD_BLOCK_ERROR) { PL_PrintError("First Receive:\n"); fprintf(stderr, "First PR_Recv: retVal: %ld, Error: %ld\n", - retVal, PR_GetError()); + (long)retVal, (long)PR_GetError()); exit(1); } printf("read: EWOULDBLOCK, good\n"); @@ -201,7 +201,7 @@ static PRIntn PR_CALLBACK RealMain( PRIn if (retVal != CHUNK_SIZE) { PL_PrintError("Second Receive:\n"); fprintf(stderr, "Second PR_Recv: retVal: %ld, Error: %ld\n", - retVal, PR_GetError()); + (long)retVal, (long)PR_GetError()); exit(1); } printf("read: %d bytes, good\n", retVal); --- pr/tests/obsints.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/obsints.c @@ -25,6 +25,9 @@ int main(int argc, char **argv) #else /* NO_NSPR_10_SUPPORT */ #include "prtypes.h" /* which includes protypes.h */ +#if !defined(__GNUC__) +# define __unused +#endif int main(int argc, char **argv) { @@ -32,17 +35,17 @@ int main(int argc, char **argv) * Compilation fails if any of these integer types are not * defined by protypes.h. */ - intn in; - uintn uin; - uint ui; - int8 i8; - uint8 ui8; - int16 i16; - uint16 ui16; - int32 i32; - uint32 ui32; - int64 i64; - uint64 ui64; + intn in __unused; + uintn uin __unused; + uint ui __unused; + int8 i8 __unused; + uint8 ui8 __unused; + int16 i16 __unused; + uint16 ui16 __unused; + int32 i32 __unused; + uint32 ui32 __unused; + int64 i64 __unused; + uint64 ui64 __unused; printf("PASS\n"); return 0; --- pr/tests/parsetm.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/parsetm.c @@ -31,8 +31,8 @@ static void PrintExplodedTime(const PREx /* Print day of the week, month, day, hour, minute, and second */ if (debug_mode) printf("%s %s %ld %02ld:%02ld:%02ld ", - dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday, - et->tm_hour, et->tm_min, et->tm_sec); + dayOfWeek[et->tm_wday], month[et->tm_month], (long)et->tm_mday, + (long)et->tm_hour, (long)et->tm_min, (long)et->tm_sec); /* Print time zone */ totalOffset = et->tm_params.tp_gmt_offset + et->tm_params.tp_dst_offset; @@ -47,7 +47,7 @@ static void PrintExplodedTime(const PREx hourOffset = totalOffset / 3600; minOffset = (totalOffset % 3600) / 60; if (debug_mode) - printf("%s%02ld%02ld ", sign, hourOffset, minOffset); + printf("%s%02ld%02ld ", sign, (long)hourOffset, (long)minOffset); } /* Print year */ --- pr/tests/peek.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/peek.c @@ -135,7 +135,7 @@ static void ClientNB(void *arg) { PRFileDesc *sock; PRSocketOptionData opt; - PRUint16 port = (PRUint16) arg; + PRUint16 port = (intptr_t) arg; PRNetAddr addr; char buf[BUFFER_SIZE]; PRPollDesc pd; @@ -299,7 +299,7 @@ RunTest(PRThreadScope scope, PRFileDesc exit(1); } client = PR_CreateThread( - PR_USER_THREAD, ClientNB, (void *) port, + PR_USER_THREAD, ClientNB, (void *)(intptr_t) port, PR_PRIORITY_NORMAL, scope, PR_JOINABLE_THREAD, 0); if (NULL == client) { fprintf(stderr, "PR_CreateThread failed\n"); --- pr/tests/perf.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/perf.c @@ -141,7 +141,7 @@ static void PR_CALLBACK CXReader(void *a n = count / 2; for (i = 0; i < n; i++) { while (cxq == 0) { - DPRINTF(("CXReader: thread = 0x%lx waiting\n", + DPRINTF(("CXReader: thread = %p waiting\n", PR_GetCurrentThread())); PR_Wait(mon, PR_INTERVAL_NO_TIMEOUT); } @@ -154,7 +154,7 @@ static void PR_CALLBACK CXReader(void *a --alive; PR_Notify(mon2); PR_ExitMonitor(mon2); - DPRINTF(("CXReader: thread = 0x%lx exiting\n", PR_GetCurrentThread())); + DPRINTF(("CXReader: thread = %p exiting\n", PR_GetCurrentThread())); } static void PR_CALLBACK CXWriter(void *arg) @@ -165,7 +165,7 @@ static void PR_CALLBACK CXWriter(void *a n = count / 2; for (i = 0; i < n; i++) { while (cxq == 1) { - DPRINTF(("CXWriter: thread = 0x%lx waiting\n", + DPRINTF(("CXWriter: thread = %p waiting\n", PR_GetCurrentThread())); PR_Wait(mon, PR_INTERVAL_NO_TIMEOUT); } @@ -178,7 +178,7 @@ static void PR_CALLBACK CXWriter(void *a --alive; PR_Notify(mon2); PR_ExitMonitor(mon2); - DPRINTF(("CXWriter: thread = 0x%lx exiting\n", PR_GetCurrentThread())); + DPRINTF(("CXWriter: thread = %p exiting\n", PR_GetCurrentThread())); } static void ContextSwitch(PRThreadScope scope1, PRThreadScope scope2) @@ -198,7 +198,7 @@ static void ContextSwitch(PRThreadScope if (NULL == t1) { fprintf(stderr, "ContextSwitch: cannot create thread\n"); } else { - DPRINTF(("ContextSwitch: created %s thread = 0x%lx\n", + DPRINTF(("ContextSwitch: created %s thread = %p\n", (scope1 == PR_GLOBAL_THREAD ? "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"), t1)); @@ -212,7 +212,7 @@ static void ContextSwitch(PRThreadScope if (NULL == t2) { fprintf(stderr, "ContextSwitch: cannot create thread\n"); } else { - DPRINTF(("ContextSwitch: created %s thread = 0x%lx\n", + DPRINTF(("ContextSwitch: created %s thread = %p\n", (scope2 == PR_GLOBAL_THREAD ? "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"), t2)); @@ -254,10 +254,10 @@ static void PR_CALLBACK SemaThread(void n = count / 2; for (i = 0; i < n; i++) { - DPRINTF(("SemaThread: thread = 0x%lx waiting on sem = 0x%lx\n", + DPRINTF(("SemaThread: thread = %p waiting on sem = %p\n", PR_GetCurrentThread(), sem[0])); PR_WaitSem(sem[0]); - DPRINTF(("SemaThread: thread = 0x%lx posting on sem = 0x%lx\n", + DPRINTF(("SemaThread: thread = %p posting on sem = %p\n", PR_GetCurrentThread(), sem[1])); PR_PostSem(sem[1]); } @@ -266,7 +266,7 @@ static void PR_CALLBACK SemaThread(void --alive; PR_Notify(mon2); PR_ExitMonitor(mon2); - DPRINTF(("SemaThread: thread = 0x%lx exiting\n", PR_GetCurrentThread())); + DPRINTF(("SemaThread: thread = %p exiting\n", PR_GetCurrentThread())); } static PRSemaphore *sem_set1[2]; @@ -294,7 +294,7 @@ static void SemaContextSwitch(PRThreadSc if (NULL == t1) { fprintf(stderr, "SemaContextSwitch: cannot create thread\n"); } else { - DPRINTF(("SemaContextSwitch: created %s thread = 0x%lx\n", + DPRINTF(("SemaContextSwitch: created %s thread = %p\n", (scope1 == PR_GLOBAL_THREAD ? "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"), t1)); @@ -309,7 +309,7 @@ static void SemaContextSwitch(PRThreadSc if (NULL == t2) { fprintf(stderr, "SemaContextSwitch: cannot create thread\n"); } else { - DPRINTF(("SemaContextSwitch: created %s thread = 0x%lx\n", + DPRINTF(("SemaContextSwitch: created %s thread = %p\n", (scope2 == PR_GLOBAL_THREAD ? "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"), t2)); --- pr/tests/pipepong.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/pipepong.c @@ -36,7 +36,7 @@ int main(int argc, char **argv) nBytes = fread(buf, 1, 5, stdin); fprintf(stderr, "pong process: received \"%s\"\n", buf); if (nBytes != 5) { - fprintf(stderr, "pong process: expected 5 bytes but got %d bytes\n", + fprintf(stderr, "pong process: expected 5 bytes but got %zd bytes\n", nBytes); exit(1); } --- pr/tests/poll_nm.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/poll_nm.c @@ -47,7 +47,7 @@ PRIntn debug_mode; static void PR_CALLBACK clientThreadFunc(void *arg) { - PRUintn port = (PRUintn) arg; + PRUintn port = (intptr_t) arg; PRFileDesc *sock; PRNetAddr addr; char buf[128]; @@ -196,7 +196,7 @@ int main(int argc, char **argv) npds = 5; clientThread = PR_CreateThread(PR_USER_THREAD, - clientThreadFunc, (void *) listenPort1, + clientThreadFunc, (void *)(intptr_t)listenPort1, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, 0); if (clientThread == NULL) { @@ -206,7 +206,7 @@ int main(int argc, char **argv) } clientThread = PR_CreateThread(PR_USER_THREAD, - clientThreadFunc, (void *) listenPort2, + clientThreadFunc, (void *)(intptr_t)listenPort2, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, 0); if (clientThread == NULL) { --- pr/tests/prfz.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/prfz.c @@ -7,7 +7,7 @@ */ #include "prprf.h" -#include +#include #include #include --- pr/tests/provider.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/provider.c @@ -1049,7 +1049,7 @@ int main(int argc, char **argv) { PRUintn index; PRBool boolean; - CSClient_t *client; + CSClient_t *client = NULL; PRStatus rv, joinStatus; CSServer_t *server = NULL; char *thread_type; --- pr/tests/prpoll.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/prpoll.c @@ -39,7 +39,7 @@ int main(int argc, char **argv) static void clientThreadFunc(void *arg) { - PRUint16 port = (PRUint16) arg; + PRUint16 port = (PRUint16)(uintptr_t)arg; PRFileDesc *sock; PRNetAddr addr; char buf[BUF_SIZE]; @@ -73,7 +73,7 @@ int main(int argc, char **argv) PRInt32 rv; PROsfd sd; struct sockaddr_in saddr; - PRIntn saddr_len; + socklen_t saddr_len; PRUint16 listenPort3; PRFileDesc *socket_poll_fd; PRIntn i, j; @@ -199,7 +199,7 @@ int main(int argc, char **argv) npds--; clientThread = PR_CreateThread(PR_USER_THREAD, - clientThreadFunc, (void *) listenPort1, + clientThreadFunc, (void *)(uintptr_t)listenPort1, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, 0); if (clientThread == NULL) { @@ -208,7 +208,7 @@ int main(int argc, char **argv) } clientThread = PR_CreateThread(PR_USER_THREAD, - clientThreadFunc, (void *) listenPort2, + clientThreadFunc, (void *)(uintptr_t)listenPort2, PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_UNJOINABLE_THREAD, 0); if (clientThread == NULL) { @@ -217,7 +217,7 @@ int main(int argc, char **argv) } clientThread = PR_CreateThread(PR_USER_THREAD, - clientThreadFunc, (void *) listenPort3, + clientThreadFunc, (void *)(uintptr_t)listenPort3, PR_PRIORITY_NORMAL, PR_GLOBAL_BOUND_THREAD, PR_UNJOINABLE_THREAD, 0); if (clientThread == NULL) { --- pr/tests/randseed.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/randseed.c @@ -48,7 +48,6 @@ static void Help( void ) static void PrintRand( void *buf, PRIntn size ) { PRUint32 *rp = buf; - PRIntn i; printf("%4.4d--\n", size ); while (size > 0 ) { --- pr/tests/ranfile.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/ranfile.c @@ -130,7 +130,7 @@ static void PR_CALLBACK Thread(void *arg PRStatus rv = PR_SUCCESS; Hammer_t *cd = (Hammer_t*)arg; - (void)sprintf(filename, "%ssg%04ld.dat", baseName, cd->id); + (void)sprintf(filename, "%ssg%04d.dat", baseName, (int)cd->id); if (debug_mode) printf("Starting work on %s\n", filename); @@ -364,14 +364,14 @@ int main(int argc, char **argv) } else if (debug_mode) printf( - "%s: test failed %s after %ld seconds\n", - programName, where[hammer[poll].problem], duration); + "%s: test failed %s after %d seconds\n", + programName, where[hammer[poll].problem], (int)duration); else failed_already=1; } } } if (debug_mode) printf( - "%s: [%ld [%ld] %ld] writes/sec average\n", + "%s: [%d [%d] %d] writes/sec average\n", programName, writesMin, writesTot * 1000 / durationTot, writesMax); PR_DestroyCondVar(cv); --- pr/tests/runtests.sh.orig 2015-10-16 13:22:19 UTC +++ pr/tests/runtests.sh @@ -58,9 +58,6 @@ fi # Tests not run (but should) # -#forktest (failed on IRIX) -#nbconn - fails on some platforms -#poll_er - fails on some platforms? limited use? #prpoll - the bad-FD test needs to be moved to a different test #sleep - specific to OS/2 @@ -92,6 +89,7 @@ exit fdcach fileio foreign +forktest formattm fsync gethost @@ -99,7 +97,6 @@ getproto i2l initclk inrval -instrumt intrio intrupt io_timeout @@ -120,6 +117,7 @@ logger many_cv multiwait nameshm1 +nbconn nblayer nonblock ntioto @@ -136,6 +134,7 @@ perf pipeping pipeping2 pipeself +poll_er poll_nm poll_to pollable @@ -208,7 +207,7 @@ OBJDIR=`basename $PWD` printf "\nNSPR Test Results - $OBJDIR\n\n" printf "BEGIN\t\t\t`date`\n" printf "NSPR_TEST_LOGFILE\t${LOGFILE}\n\n" -printf "Test\t\t\tResult\n\n" +printf " Test\t\t\tResult\n\n" if [ $OS_PLATFORM = "Windows_95" ] || [ $OS_PLATFORM = "Windows_98" ] || [ $OS_PLATFORM = "Windows_NT" ] || [ $OS_PLATFORM = "OS/2" ] ; then for prog in $TESTS do @@ -226,10 +225,8 @@ if [ $OS_PLATFORM = "Windows_95" ] || [ else for prog in $TESTS do - printf "$prog" - printf "\nBEGIN TEST: $prog\n\n" >> ${LOGFILE} 2>&1 - export test_rval - ./$prog >> ${LOGFILE} 2>&1 & + printf %16s $prog + ./$prog >> $prog.output 2>&1 & test_pid=$! sleep_pid=0 if test -n "$TEST_TIMEOUT" && test "$TEST_TIMEOUT" -gt 0 @@ -244,28 +241,11 @@ else printf "\t\t\tPassed\n"; else printf "\t\t\tFAILED\n"; + sed "s,^, $prog: ," < $prog.output rval=1 fi; - printf "\nEND TEST: $prog\n\n" >> ${LOGFILE} 2>&1 done fi; printf "END\t\t\t`date`\n" exit $rval - - - - - - - - - - - - - - - - - --- pr/tests/sel_spd.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/sel_spd.c @@ -15,6 +15,9 @@ #include #include #include +#if defined(XP_UNIX) || defined(XP_OS2_EMX) +# include /* getopt(3) */ +#endif #ifdef SYMBIAN #include #endif @@ -22,16 +25,16 @@ #define PORT_BASE 19000 typedef struct timer_slot_t { - unsigned long d_connect; - unsigned long d_cl_data; - unsigned long d_sv_data; - unsigned long d_close; - unsigned long d_total; - unsigned long requests; + unsigned int d_connect; + unsigned int d_cl_data; + unsigned int d_sv_data; + unsigned int d_close; + unsigned int d_total; + unsigned int requests; } timer_slot_t; -static long _iterations = 5; -static long _client_data = 8192; +static int _iterations = 5; +static int _client_data = 8192; #ifdef SYMBIAN /* @@ -40,12 +43,11 @@ static long _client_data = 8192; * memory and not be able to allocate thread stack or client/server data * buffer. */ -static long _server_data = (8*1024); -static long _threads_max = 10, _threads = 10; +static int _server_data = (8*1024); #else -static long _server_data = (128*1024); -static long _threads_max = 10, _threads = 10; +static int _server_data = (128*1024); #endif +static int _threads_max = 10, _threads = 10; static int verbose=0; static PRMonitor *exit_cv; @@ -101,7 +103,7 @@ _server_thread(void *arg_id) void _client_thread(void *); PRThread *thread; int *id = (int *)arg_id; - PRFileDesc *sock; + PRFileDesc *sock = NULL; PRSocketOptionData sockopt; PRNetAddr sa; PRFileDesc * newsock; @@ -469,12 +471,12 @@ void tally_results(int verbose) { int index; - unsigned long tot_connect = 0; - unsigned long tot_cl_data = 0; - unsigned long tot_sv_data = 0; - unsigned long tot_close = 0; - unsigned long tot_all = 0; - unsigned long tot_requests = 0; + unsigned int tot_connect = 0; + unsigned int tot_cl_data = 0; + unsigned int tot_sv_data = 0; + unsigned int tot_close = 0; + unsigned int tot_all = 0; + unsigned int tot_requests = 0; fprintf(stdout, "Server results:\n\n"); for (index=0; index<_threads_max*2; index+=2) { --- pr/tests/selct_nm.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/selct_nm.c @@ -45,7 +45,7 @@ PRIntn debug_mode; static void clientThreadFunc(void *arg) { - PRUintn port = (PRUintn) arg; + PRUintn port = (PRUintn)(uintptr_t)arg; PRFileDesc *sock; PRNetAddr addr; char buf[128]; @@ -165,7 +165,7 @@ failed_already=1; if (debug_mode) printf("%s", buf); clientThread = PR_CreateThread(PR_USER_THREAD, - clientThreadFunc, (void *) listenPort1, + clientThreadFunc, (void *)(uintptr_t)listenPort1, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, 0); if (clientThread == NULL) { @@ -175,7 +175,7 @@ failed_already=1; } clientThread = PR_CreateThread(PR_USER_THREAD, - clientThreadFunc, (void *) listenPort2, + clientThreadFunc, (void *)(uintptr_t)listenPort2, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, 0); if (clientThread == NULL) { --- pr/tests/select2.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/select2.c @@ -53,6 +53,7 @@ PRInt32 count; ** ***********************************************************************/ +static int exitcode = 2; static void Test_Result (int result) { @@ -60,9 +61,12 @@ static void Test_Result (int result) { case PASS: printf ("PASS\n"); + if (exitcode == 2) + exitcode = 0; break; case FAIL: printf ("FAIL\n"); + exitcode = 1; break; default: printf ("NOSTATUS\n"); @@ -319,4 +323,5 @@ int main(int argc, char **argv) PR_Cleanup(); + return exitcode; } --- pr/tests/semaerr.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/semaerr.c @@ -65,7 +65,7 @@ int main(int argc, char **argv) exit(1); } if (PR_GetError() != PR_FILE_NOT_FOUND_ERROR) { - fprintf(stderr, "Expected error is %d but got (%d, %d)\n", + fprintf(stderr, "Expected error is %ld (PR_FILE_NOT_FOUND_ERROR) but got (%d, %d)\n", PR_FILE_NOT_FOUND_ERROR, PR_GetError(), PR_GetOSError()); exit(1); } --- pr/tests/semaerr1.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/semaerr1.c @@ -75,7 +75,7 @@ int main(int argc, char **argv) exit(1); } if (PR_GetError() != PR_FILE_EXISTS_ERROR) { - fprintf(stderr, "Expect %d but got %d\n", PR_FILE_EXISTS_ERROR, + fprintf(stderr, "Expected %ld (PR_FILE_EXISTS_ERROR) but got %d\n", PR_FILE_EXISTS_ERROR, PR_GetError()); exit(1); } --- pr/tests/sendzlf.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/sendzlf.c @@ -26,7 +26,7 @@ static void ClientThread(void *arg) { PRFileDesc *sock; PRNetAddr addr; - PRUint16 port = (PRUint16) arg; + PRUint16 port = (PRUint16)(uintptr_t)arg; char buf[1024]; char *bufPtr; PRInt32 nbytes; @@ -184,7 +184,7 @@ int main(int argc, char **argv) } clientThread = PR_CreateThread(PR_USER_THREAD, - ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)), + ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)), PR_PRIORITY_NORMAL, scope, PR_JOINABLE_THREAD, 0); if (NULL == clientThread) { fprintf(stderr, "PR_CreateThread failed\n"); --- pr/tests/server_test.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/server_test.c @@ -60,7 +60,7 @@ PRCondVar *ServerStateCV; #ifdef DEBUGPRINTS #define DPRINTF printf #else -#define DPRINTF +#define DPRINTF(...) #endif @@ -502,6 +502,7 @@ static void do_workUU(void) do_work(); } +#if 0 static void do_workUK(void) { ServerScope = PR_LOCAL_THREAD; @@ -522,6 +523,7 @@ static void do_workKK(void) ClientScope = PR_GLOBAL_THREAD; do_work(); } +#endif static void Measure(void (*func)(void), const char *msg) --- pr/tests/servr_kk.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/servr_kk.c @@ -57,7 +57,7 @@ PRCondVar *ServerStateCV; #ifdef DEBUGPRINTS #define DPRINTF printf #else -#define DPRINTF +#define DPRINTF(...) #endif PRIntn failed_already=0; @@ -472,6 +472,7 @@ void do_work() PR_JoinThread(ServerThread); } +#if 0 static void do_workUU(void) { ServerScope = PR_LOCAL_THREAD; @@ -492,6 +493,7 @@ static void do_workKU(void) ClientScope = PR_LOCAL_THREAD; do_work(); } +#endif static void do_workKK(void) { --- pr/tests/servr_ku.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/servr_ku.c @@ -57,7 +57,7 @@ PRCondVar *ServerStateCV; #ifdef DEBUGPRINTS #define DPRINTF printf #else -#define DPRINTF +#define DPRINTF(...) #endif PRIntn failed_already=0; --- pr/tests/servr_uk.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/servr_uk.c @@ -57,7 +57,7 @@ PRCondVar *ServerStateCV; #ifdef DEBUGPRINTS #define DPRINTF printf #else -#define DPRINTF +#define DPRINTF(...) #endif PRIntn failed_already=0; --- pr/tests/servr_uu.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/servr_uu.c @@ -57,7 +57,7 @@ PRCondVar *ServerStateCV; #ifdef DEBUGPRINTS #define DPRINTF printf #else -#define DPRINTF +#define DPRINTF(...) #endif PRIntn failed_already=0; --- pr/tests/short_thread.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/short_thread.c @@ -43,8 +43,8 @@ int main (int argc, char **argv) PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_UNJOINABLE_THREAD, 0)) == NULL ) { fprintf(stderr, - "simple_test: Error - PR_CreateThread failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + "simple_test: Error - PR_CreateThread failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); exit( 1 ); } PR_Cleanup(); --- pr/tests/socket.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/socket.c @@ -103,13 +103,15 @@ char *LARGE_FILE_NAME = "/tmp/prsocket_t #endif static PRInt32 num_tcp_clients = NUM_TCP_CLIENTS; -static PRInt32 num_udp_clients = NUM_UDP_CLIENTS; static PRInt32 num_transmitfile_clients = NUM_TRANSMITFILE_CLIENTS; static PRInt32 num_tcp_connections_per_client = NUM_TCP_CONNECTIONS_PER_CLIENT; static PRInt32 tcp_mesg_size = TCP_MESG_SIZE; static PRInt32 num_tcp_mesgs_per_connection = NUM_TCP_MESGS_PER_CONNECTION; +#if defined(SYMBIAN) && !defined(__WINSCW__) +static PRInt32 num_udp_clients = NUM_UDP_CLIENTS; static PRInt32 num_udp_datagrams_per_client = NUM_UDP_DATAGRAMS_PER_CLIENT; static PRInt32 udp_datagram_size = UDP_DGRAM_SIZE; +#endif static PRInt32 thread_count; PRUint16 server_domain = PR_AF_INET, client_domain = PR_AF_INET; @@ -181,19 +183,23 @@ readn(PRFileDesc *sockfd, char *buf, int int rem; int bytes; int offset = 0; +#ifdef WINNT int err; +#endif PRIntervalTime timeout = PR_INTERVAL_NO_TIMEOUT; if (test_cancelio) timeout = PR_SecondsToInterval(2); for (rem=len; rem; offset += bytes, rem -= bytes) { - DPRINTF(("thread = 0x%lx: calling PR_Recv, bytes = %d\n", + DPRINTF(("thread = %p: calling PR_Recv, bytes = %d\n", PR_GetCurrentThread(), rem)); +#ifdef WINNT retry: +#endif bytes = PR_Recv(sockfd, buf + offset, rem, 0, timeout); - DPRINTF(("thread = 0x%lx: returning from PR_Recv, bytes = %d\n", + DPRINTF(("thread = %p: returning from PR_Recv, bytes = %d\n", PR_GetCurrentThread(), bytes)); if (bytes < 0) { #ifdef WINNT @@ -224,11 +230,11 @@ writen(PRFileDesc *sockfd, char *buf, in int offset = 0; for (rem=len; rem; offset += bytes, rem -= bytes) { - DPRINTF(("thread = 0x%lx: calling PR_Send, bytes = %d\n", + DPRINTF(("thread = %p: calling PR_Send, bytes = %d\n", PR_GetCurrentThread(), rem)); bytes = PR_Send(sockfd, buf + offset, rem, 0, PR_INTERVAL_NO_TIMEOUT); - DPRINTF(("thread = 0x%lx: returning from PR_Send, bytes = %d\n", + DPRINTF(("thread = %p: returning from PR_Send, bytes = %d\n", PR_GetCurrentThread(), bytes)); if (bytes <= 0) return -1; @@ -279,7 +285,7 @@ Serve_Client(void *arg) fprintf(stderr,"prsocket_test: ERROR - PR_Shutdown\n"); } #endif - DPRINTF(("Serve_Client [0x%lx]: inbuf[0] = 0x%lx\n",PR_GetCurrentThread(), + DPRINTF(("Serve_Client [%p]: inbuf[0] = %d\n",PR_GetCurrentThread(), (*((int *) in_buf->data)))); if (writen(sockfd, in_buf->data, bytes) < bytes) { fprintf(stderr,"prsocket_test: ERROR - Serve_Client:writen\n"); @@ -418,7 +424,7 @@ TCP_Server(void *arg) goto exit; } - DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n", + DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n", netaddr.inet.ip, netaddr.inet.port)); if (PR_SetNetAddr(PR_IpAddrLoopback, client_domain, PR_ntohs(PR_NetAddrInetPort(&netaddr)), @@ -460,7 +466,7 @@ TCP_Server(void *arg) scp->datalen = sp->datalen; t = create_new_thread(PR_USER_THREAD, - Serve_Client, (void *)scp, + Serve_Client, (void *)scp, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, @@ -470,7 +476,7 @@ TCP_Server(void *arg) failed_already=1; goto exit; } - DPRINTF(("TCP_Server: Created Serve_Client = 0x%lx\n", t)); + DPRINTF(("TCP_Server: Created Serve_Client = %p\n", t)); } exit: @@ -486,9 +492,10 @@ exit: --(*sp->exit_counter); PR_Notify(sp->exit_mon); PR_ExitMonitor(sp->exit_mon); - DPRINTF(("TCP_Server [0x%lx] exiting\n", PR_GetCurrentThread())); + DPRINTF(("TCP_Server [%p] exiting\n", PR_GetCurrentThread())); } +#if defined(SYMBIAN) && !defined(__WINSCW__) /* * UDP Server * Server Thread @@ -544,7 +551,7 @@ UDP_Server(void *arg) return; } - DPRINTF(("PR_Bind: UDP Server netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n", + DPRINTF(("PR_Bind: UDP Server netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n", netaddr.inet.ip, netaddr.inet.port)); /* * We can't use the IP address returned by PR_GetSockName in @@ -582,13 +589,13 @@ UDP_Server(void *arg) */ memset(&netaddr, 0 , sizeof(netaddr)); for (i = 0; i < (num_udp_clients * num_udp_datagrams_per_client); i++) { - DPRINTF(("UDP_Server: calling PR_RecvFrom client - ip = 0x%lx, port = %d bytes = %d inbuf = 0x%lx, inbuf[0] = 0x%lx\n", + DPRINTF(("UDP_Server: calling PR_RecvFrom client - ip = 0x%x, port = %d bytes = %d inbuf = %p, inbuf[0] = 0x%x\n", netaddr.inet.ip, netaddr.inet.port, bytes, in_buf->data, in_buf->data[0])); rv = PR_RecvFrom(sockfd, in_buf->data, bytes, 0, &netaddr, PR_INTERVAL_NO_TIMEOUT); - DPRINTF(("UDP_Server: PR_RecvFrom client - ip = 0x%lx, port = %d bytes = %d inbuf = 0x%lx, inbuf[0] = 0x%lx\n", + DPRINTF(("UDP_Server: PR_RecvFrom client - ip = 0x%x, port = %d bytes = %d inbuf = %p, inbuf[0] = 0x%x\n", netaddr.inet.ip, netaddr.inet.port, rv, in_buf->data, in_buf->data[0])); if (rv != bytes) { @@ -611,8 +618,9 @@ UDP_Server(void *arg) --(*sp->exit_counter); PR_Notify(sp->exit_mon); PR_ExitMonitor(sp->exit_mon); - DPRINTF(("UDP_Server [0x%x] exiting\n", PR_GetCurrentThread())); + DPRINTF(("UDP_Server [%p] exiting\n", PR_GetCurrentThread())); } +#endif /* defined(SYMBIAN) && !defined(__WINSCW__) */ /* * TCP_Client @@ -655,7 +663,7 @@ TCP_Client(void *arg) } if (PR_Connect(sockfd, &netaddr,PR_INTERVAL_NO_TIMEOUT) < 0){ fprintf(stderr, "PR_Connect failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; return; } @@ -663,7 +671,7 @@ TCP_Client(void *arg) /* * fill in random data */ - memset(out_buf->data, ((PRInt32) (&netaddr)) + i + j, bytes); + memset(out_buf->data, ((intptr_t)(&netaddr)) + i + j, bytes); /* * write to server */ @@ -676,7 +684,7 @@ TCP_Client(void *arg) failed_already=1; return; } - DPRINTF(("TCP Client [0x%lx]: out_buf = 0x%lx out_buf[0] = 0x%lx\n", + DPRINTF(("TCP Client [%p]: out_buf = %p out_buf[0] = 0x%x\n", PR_GetCurrentThread(), out_buf, (*((int *) out_buf->data)))); if (readn(sockfd, in_buf->data, bytes) < bytes) { fprintf(stderr,"prsocket_test: ERROR - TCP_Client:readn\n"); @@ -716,13 +724,14 @@ TCP_Client(void *arg) --(*cp->exit_counter); PR_Notify(cp->exit_mon); PR_ExitMonitor(cp->exit_mon); - DPRINTF(("TCP_Client [0x%x] exiting\n", PR_GetCurrentThread())); + DPRINTF(("TCP_Client [%p] exiting\n", PR_GetCurrentThread())); } +#if defined(SYMBIAN) && !defined(__WINSCW__) /* * UDP_Client * Client Thread - * Create a socket and bind an address + * Create a socket and bind an address * Communicate with the server at the address specified in the argument. * Fill in a buffer, write data to server, read it back and check * for data corruption. @@ -780,7 +789,7 @@ UDP_Client(void *arg) return; } - DPRINTF(("PR_Bind: UDP Client netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n", + DPRINTF(("PR_Bind: UDP Client netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n", netaddr.inet.ip, netaddr.inet.port)); netaddr = cp->server_addr; @@ -797,9 +806,9 @@ UDP_Client(void *arg) /* * fill in random data */ - DPRINTF(("UDP_Client [0x%lx]: out_buf = 0x%lx bytes = 0x%lx\n", + DPRINTF(("UDP_Client [%p]: out_buf = %p bytes = %d\n", PR_GetCurrentThread(), out_buf->data, bytes)); - memset(out_buf->data, ((PRInt32) (&netaddr)) + i, bytes); + memset(out_buf->data, ((intptr_t)(&netaddr)) + i, bytes); /* * write to server */ @@ -812,7 +821,7 @@ UDP_Client(void *arg) if (rv != bytes) { return; } - DPRINTF(("UDP_Client [0x%lx]: out_buf = 0x%lx out_buf[0] = 0x%lx\n", + DPRINTF(("UDP_Client [%p]: out_buf = %p out_buf[0] = 0x%x\n", PR_GetCurrentThread(), out_buf, (*((int *) out_buf->data)))); if (cp->udp_connect) rv = PR_Recv(sockfd, in_buf->data, bytes, 0, @@ -823,7 +832,7 @@ UDP_Client(void *arg) if (rv != bytes) { return; } - DPRINTF(("UDP_Client [0x%lx]: in_buf = 0x%lx in_buf[0] = 0x%lx\n", + DPRINTF(("UDP_Client [%p]: in_buf = %p in_buf[0] = 0x%x\n", PR_GetCurrentThread(), in_buf, (*((int *) in_buf->data)))); /* * verify the data read @@ -848,12 +857,13 @@ UDP_Client(void *arg) PR_Notify(cp->exit_mon); PR_ExitMonitor(cp->exit_mon); PR_DELETE(cp); - DPRINTF(("UDP_Client [0x%x] exiting\n", PR_GetCurrentThread())); + DPRINTF(("UDP_Client [%p] exiting\n", PR_GetCurrentThread())); } +#endif /* defined(SYMBIAN) && !defined(__WINSCW__) */ /* * TCP_Socket_Client_Server_Test - concurrent server test - * + * * One server and several clients are started * Each client connects to the server and sends a chunk of data * For each connection, server starts another thread to read the data @@ -905,7 +915,7 @@ TCP_Socket_Client_Server_Test(void) sparamp->exit_counter = &thread_count; sparamp->datalen = datalen; t = PR_CreateThread(PR_USER_THREAD, - TCP_Server, (void *)sparamp, + TCP_Server, (void *)sparamp, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, @@ -915,7 +925,7 @@ TCP_Socket_Client_Server_Test(void) failed_already=1; return -1; } - DPRINTF(("Created TCP server = 0x%lx\n", t)); + DPRINTF(("Created TCP server = %p\n", t)); thread_count++; /* @@ -949,7 +959,7 @@ TCP_Socket_Client_Server_Test(void) failed_already=1; return -1; } - DPRINTF(("Created TCP client = 0x%lx\n", t)); + DPRINTF(("Created TCP client = %p\n", t)); thread_count++; } /* Wait for server and client threads to exit */ @@ -959,17 +969,18 @@ TCP_Socket_Client_Server_Test(void) } PR_ExitMonitor(mon2); printf("%30s","TCP_Socket_Client_Server_Test:"); - printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l, + printf(" 1 Server %2d Clients %2d connections_per_client\n", num_tcp_clients, num_tcp_connections_per_client); - printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":", + printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":", num_tcp_mesgs_per_connection, tcp_mesg_size); return 0; } +#if defined(SYMBIAN) && !defined(__WINSCW__) /* * UDP_Socket_Client_Server_Test - iterative server test - * + * * One server and several clients are started * Each client connects to the server and sends a chunk of data * For each connection, server starts another thread to read the data @@ -1023,7 +1034,7 @@ UDP_Socket_Client_Server_Test(void) sparamp->datalen = datalen; DPRINTF(("Creating UDP server")); t = PR_CreateThread(PR_USER_THREAD, - UDP_Server, (void *)sparamp, + UDP_Server, (void *)sparamp, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, @@ -1084,12 +1095,13 @@ UDP_Socket_Client_Server_Test(void) } PR_ExitMonitor(mon2); printf("%30s","UDP_Socket_Client_Server_Test: "); - printf("%2ld Server %2ld Clients\n",1l, num_udp_clients); - printf("%30s %2ld datagrams_per_client %4ld bytes_per_datagram\n",":", + printf(" 1 Server %2d Clients\n", num_udp_clients); + printf("%30s %2d datagrams_per_client %4d bytes_per_datagram\n",":", num_udp_datagrams_per_client, udp_datagram_size); return 0; } +#endif /* defined(SYMBIAN) && !defined(__WINSCW__) */ static PRFileDesc *small_file_fd, *large_file_fd; static void *small_file_addr, *small_file_header, *large_file_addr; @@ -1441,7 +1453,7 @@ TransmitFile_Client(void *arg) --(*cp->exit_counter); PR_Notify(cp->exit_mon); PR_ExitMonitor(cp->exit_mon); - DPRINTF(("TransmitFile_Client [0x%lx] exiting\n", PR_GetCurrentThread())); + DPRINTF(("TransmitFile_Client [%p] exiting\n", PR_GetCurrentThread())); } /* @@ -1484,7 +1496,7 @@ Serve_TransmitFile_Client(void *arg) if (bytes != (SMALL_FILE_SIZE+ SMALL_FILE_HEADER_SIZE)) { fprintf(stderr, "prsocet_test: PR_TransmitFile failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } bytes = PR_TransmitFile(sockfd, local_large_file_fd, NULL, 0, @@ -1492,7 +1504,7 @@ Serve_TransmitFile_Client(void *arg) if (bytes != LARGE_FILE_SIZE) { fprintf(stderr, "prsocket_test: PR_TransmitFile failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } @@ -1520,7 +1532,7 @@ Serve_TransmitFile_Client(void *arg) slen, bytes); fprintf(stderr, "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } @@ -1544,7 +1556,7 @@ Serve_TransmitFile_Client(void *arg) slen, bytes); fprintf(stderr, "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } /* @@ -1566,7 +1578,7 @@ Serve_TransmitFile_Client(void *arg) slen, bytes); fprintf(stderr, "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } /* @@ -1588,7 +1600,7 @@ Serve_TransmitFile_Client(void *arg) slen, bytes); fprintf(stderr, "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } /* @@ -1610,7 +1622,7 @@ Serve_TransmitFile_Client(void *arg) slen, bytes); fprintf(stderr, "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } /* @@ -1632,7 +1644,7 @@ Serve_TransmitFile_Client(void *arg) slen, bytes); fprintf(stderr, "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } /* @@ -1654,7 +1666,7 @@ Serve_TransmitFile_Client(void *arg) slen, bytes); fprintf(stderr, "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } /* @@ -1678,7 +1690,7 @@ Serve_TransmitFile_Client(void *arg) slen, bytes); fprintf(stderr, "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } done: @@ -1752,7 +1764,7 @@ TransmitFile_Server(void *arg) goto exit; } - DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n", + DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n", netaddr.inet.ip, netaddr.inet.port)); tcp_server_addr.inet.family = netaddr.inet.family; tcp_server_addr.inet.port = netaddr.inet.port; @@ -1807,7 +1819,7 @@ TransmitFile_Server(void *arg) scp->datalen = sp->datalen; t[i] = PR_CreateThread(PR_USER_THREAD, - Serve_TransmitFile_Client, (void *)scp, + Serve_TransmitFile_Client, (void *)scp, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_JOINABLE_THREAD, @@ -1818,7 +1830,7 @@ TransmitFile_Server(void *arg) failed_already=1; goto exit; } - DPRINTF(("TransmitFile_Server: Created Serve_TransmitFile_Client = 0x%lx\n", t)); + DPRINTF(("TransmitFile_Server: Created Serve_TransmitFile_Client = %p\n", t)); } /* @@ -1846,12 +1858,12 @@ exit: --(*sp->exit_counter); PR_Notify(sp->exit_mon); PR_ExitMonitor(sp->exit_mon); - DPRINTF(("TransmitFile_Server [0x%lx] exiting\n", PR_GetCurrentThread())); + DPRINTF(("TransmitFile_Server [%p] exiting\n", PR_GetCurrentThread())); } /* - * Socket_Misc_Test - test miscellaneous functions - * + * Socket_Misc_Test - test miscellaneous functions + * */ static PRInt32 Socket_Misc_Test(void) @@ -1986,7 +1998,7 @@ Socket_Misc_Test(void) fprintf(stderr, "prsocket_test failed to write to file %s: (%ld, %ld)\n", LARGE_FILE_NAME, - PR_GetError(), PR_GetOSError()); + (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; rv = -1; goto done; @@ -2065,7 +2077,7 @@ Socket_Misc_Test(void) sparamp->exit_counter = &thread_count; sparamp->datalen = datalen; t = PR_CreateThread(PR_USER_THREAD, - TransmitFile_Server, (void *)sparamp, + TransmitFile_Server, (void *)sparamp, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, @@ -2076,7 +2088,7 @@ Socket_Misc_Test(void) rv = -1; goto done; } - DPRINTF(("Created TCP server = 0x%x\n", t)); + DPRINTF(("Created TCP server = %p\n", t)); thread_count++; /* @@ -2113,7 +2125,7 @@ Socket_Misc_Test(void) failed_already=1; goto done; } - DPRINTF(("Created TransmitFile client = 0x%lx\n", t)); + DPRINTF(("Created TransmitFile client = %p\n", t)); thread_count++; } /* Wait for server and client threads to exit */ @@ -2144,7 +2156,7 @@ done: } if ((PR_RmDir(TEST_DIR)) == PR_FAILURE) { fprintf(stderr,"prsocket_test failed to rmdir %s: (%ld, %ld)\n", - TEST_DIR, PR_GetError(), PR_GetOSError()); + TEST_DIR, (long)PR_GetError(), (long)PR_GetOSError()); failed_already=1; } --- pr/tests/sprintf.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/sprintf.c @@ -127,7 +127,7 @@ static void test_l(char *pattern, char * (strncmp(s, sbuf, sizeof(sbuf)) != 0)) { fprintf(stderr, "pattern='%s' l=%ld\nPR_smprintf='%s'\nPR_snprintf='%s'\n sprintf='%s'\n", - pattern, l, s, buf, sbuf); + pattern, (long)l, s, buf, sbuf); PR_smprintf_free(s); exit(-1); } --- pr/tests/stack.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/stack.c @@ -54,7 +54,7 @@ PRFileDesc *errhandle; int main(int argc, char **argv) { #if !(defined(SYMBIAN) && defined(__WINS__)) - PRInt32 rv, cnt, sum; + PRInt32 cnt, sum; DataRecord *Item; PRStack *list1, *list2; PRStackElem *node; @@ -209,7 +209,7 @@ int main(int argc, char **argv) static void stackop(void *thread_arg) { PRInt32 val, cnt, index, loops; - DataRecord *Items, *Item; + DataRecord *Items; PRStack *list1, *list2; PRStackElem *node; stack_data *arg = (stack_data *) thread_arg; --- pr/tests/suspend.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/suspend.c @@ -30,14 +30,14 @@ void PR_CALLBACK Level_2_Thread(void *arg) { PR_Sleep(PR_MillisecondsToInterval(4 * 1000)); - printf("Level_2_Thread[0x%lx] exiting\n",PR_GetCurrentThread()); + printf("Level_2_Thread[%p] exiting\n",PR_GetCurrentThread()); return; } void PR_CALLBACK Level_1_Thread(void *arg) { - PRUint32 tmp = (PRUint32)arg; + PRUint32 tmp = (PRUint32)(uintptr_t)arg; PRThreadScope scope = (PRThreadScope) tmp; PRThread *thr; @@ -52,7 +52,7 @@ Level_1_Thread(void *arg) if (!thr) { printf("Could not create thread!\n"); } else { - printf("Level_1_Thread[0x%lx] created %15s thread 0x%lx\n", + printf("Level_1_Thread[%p] created %15s thread %p\n", PR_GetCurrentThread(), (scope == PR_GLOBAL_THREAD) ? "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD", @@ -63,7 +63,7 @@ Level_1_Thread(void *arg) alive--; PR_Notify(mon); PR_ExitMonitor(mon); - printf("Thread[0x%lx] exiting\n",PR_GetCurrentThread()); + printf("Thread[%p] exiting\n",PR_GetCurrentThread()); } static PRStatus PR_CALLBACK print_thread(PRThread *thread, int i, void *arg) @@ -72,14 +72,15 @@ static PRStatus PR_CALLBACK print_thread PRWord *registers; printf( - "\nprint_thread[0x%lx]: %-20s - i = %ld\n",thread, + "\nprint_thread[%p]: %-20s - i = %ld\n",thread, (PR_GLOBAL_THREAD == PR_GetThreadScope(thread)) ? "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD", i); registers = PR_GetGCRegisters(thread, 0, (int *)&words); if (registers) - printf("Registers R0 = 0x%x R1 = 0x%x R2 = 0x%x R3 = 0x%x\n", - registers[0],registers[1],registers[2],registers[3]); - printf("Stack Pointer = 0x%lx\n", PR_GetSP(thread)); + printf("Regsters R0 = 0x%lx R1 = 0x%lx R2 = 0x%lx R3 = 0x%lx\n", + (unsigned long)registers[0], (unsigned long)registers[1], + (unsigned long)registers[2], (unsigned long)registers[3]); + printf("Stack Pointer = %p\n", PR_GetSP(thread)); return PR_SUCCESS; } @@ -107,7 +108,7 @@ static void Level_0_Thread(PRThreadScope printf("Could not create thread!\n"); alive--; } - printf("Level_0_Thread[0x%lx] created %15s thread 0x%lx\n", + printf("Level_0_Thread[%p] created %15s thread %p\n", PR_GetCurrentThread(), (scope1 == PR_GLOBAL_THREAD) ? "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD", @@ -119,9 +120,10 @@ static void Level_0_Thread(PRThreadScope PR_EnumerateThreads(print_thread, NULL); registers = PR_GetGCRegisters(me, 1, (int *)&words); if (registers) - printf("My Registers: R0 = 0x%x R1 = 0x%x R2 = 0x%x R3 = 0x%x\n", - registers[0],registers[1],registers[2],registers[3]); - printf("My Stack Pointer = 0x%lx\n", PR_GetSP(me)); + printf("My Registers: R0 = 0x%lx R1 = 0x%lx R2 = 0x%lx R3 = 0x%lx\n", + (unsigned long)registers[0], (unsigned long)registers[1], + (unsigned long)registers[2], (unsigned long)registers[3]); + printf("My Stack Pointer = %p\n", PR_GetSP(me)); PR_ResumeAll(); /* Wait for all threads to exit */ --- pr/tests/switch.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/switch.c @@ -80,7 +80,7 @@ PRIntn PR_CALLBACK Switch(PRIntn argc, c PRStatus status; PRBool help = PR_FALSE; PRUintn concurrency = 1; - Shared *shared, *link; + Shared *shared = NULL, *link; PRIntervalTime timein, timeout; PRThreadScope thread_scope = PR_LOCAL_THREAD; PRUintn thread_count, inner_count, loop_count, average; --- pr/tests/testfile.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/testfile.c @@ -36,6 +36,9 @@ static int _debug_on = 0; #ifdef XP_WIN #define mode_t int #endif +#if defined(XP_UNIX) || defined(XP_OS2_EMX) +# include /* getopt(3) */ +#endif #define DPRINTF(arg) if (_debug_on) printf arg @@ -93,7 +96,7 @@ static PRInt32 PR_CALLBACK DirTest(void PRInt32 dirtest_failed = 0; PRThread* create_new_thread(PRThreadType type, - void (*start)(void *arg), + void *(*start)(void *arg), void *arg, PRThreadPriority priority, PRThreadScope scope, @@ -155,7 +158,7 @@ PRInt32 native_thread = 0; return((PRThread *) thandle); #endif } else { - return(PR_CreateThread(type,start,arg,priority,scope,state,stackSize)); + return(PR_CreateThread(type,(void (*)(void*))start,arg,priority,scope,state,stackSize)); } #else return(PR_CreateThread(type,start,arg,priority,scope,state,stackSize)); @@ -316,8 +319,8 @@ char tmpname[1024]; printf( "testfile PR_GetFileInfo returned incorrect status-change time: %s\n", pathname); - printf("ft = %lld, ft1 = %lld\n",file_info.creationTime, - file_info1.creationTime); + printf("ft = %lld, ft1 = %lld\n", (long long)file_info.creationTime, + (long long)file_info1.creationTime); rv = -1; goto cleanup; } @@ -342,8 +345,8 @@ char tmpname[1024]; printf( "testfile PR_GetFileInfo returned incorrect modify time: %s\n", pathname); - printf("ft = %lld, ft1 = %lld\n",file_info.modifyTime, - file_info1.modifyTime); + printf("ft = %lld, ft1 = %lld\n", (long long)file_info.modifyTime, + (long long)file_info1.modifyTime); rv = -1; goto cleanup; } @@ -469,7 +472,7 @@ File_Rdwr_Param *fparamp; memset(fparamp->buf, i, len); t = create_new_thread(PR_USER_THREAD, - File_Write, (void *)fparamp, + (void *(*)(void *))File_Write, (void *)fparamp, PR_PRIORITY_NORMAL, scope, PR_UNJOINABLE_THREAD, @@ -504,7 +507,7 @@ File_Rdwr_Param *fparamp; fparamp->len = len; t = create_new_thread(PR_USER_THREAD, - File_Read, (void *)fparamp, + (void *(*)(void *))File_Read, (void *)fparamp, PR_PRIORITY_NORMAL, scope, PR_UNJOINABLE_THREAD, @@ -572,7 +575,7 @@ struct dirtest_arg thrarg; thrarg.done= 0; t = create_new_thread(PR_USER_THREAD, - DirTest, &thrarg, + (void *(*)(void *))DirTest, &thrarg, PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, PR_UNJOINABLE_THREAD, @@ -895,8 +898,6 @@ int main(int argc, char **argv) #endif #if defined(XP_UNIX) || defined(XP_OS2) int opt; - extern char *optarg; - extern int optind; #endif #if defined(XP_UNIX) || defined(XP_OS2) while ((opt = getopt(argc, argv, "d")) != EOF) { --- pr/tests/threads.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/threads.c @@ -27,7 +27,7 @@ void PR_CALLBACK DumbThread(void *arg) { - PRInt32 tmp = (PRInt32)arg; + PRInt32 tmp = (PRInt32)(intptr_t)arg; PRThreadScope scope = (PRThreadScope)tmp; PRThread *thr; @@ -167,10 +167,10 @@ int main(int argc, char **argv) if (debug_mode) { - printf("\ -** Tests lots of thread creations. \n\ -** Create %ld native threads %ld times. \n\ -** Create %ld user threads %ld times \n", iterations,count,iterations,count); + printf("** Tests lots of thread creations.\n" + "** Create %d native threads %d times.\n" + "** Create %d user threads %d times.\n", iterations, count, + iterations, count); } for (index=0; indexdata, ((PRInt32) (&netaddr)) + i + j, bytes); + memset(out_buf->data, ((intptr_t)(&netaddr)) + i + j, bytes); /* * write to server */ @@ -281,7 +281,7 @@ TCP_Socket_Client_Server_Test(void) PR_EnterMonitor(mon2); connections++; PR_ExitMonitor(mon2); - DPRINTF(("Created TCP client = 0x%lx\n", thr)); + DPRINTF(("Created TCP client = %p\n", thr)); } /* Wait for client jobs to exit */ PR_EnterMonitor(mon2); @@ -291,9 +291,9 @@ TCP_Socket_Client_Server_Test(void) } PR_ExitMonitor(mon2); printf("%30s","TCP_Socket_Client_Server_Test:"); - printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l, + printf(" 1 Server %2d Clients %2d connections_per_client\n", num_tcp_clients, num_tcp_connections_per_client); - printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":", + printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":", num_tcp_mesgs_per_connection, tcp_mesg_size); PR_DELETE(cparamp); --- pr/tests/thrpool_server.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/thrpool_server.c @@ -329,7 +329,7 @@ TCP_Server(void *arg) } DPRINTF(( - "TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n", + "TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n", netaddr.inet.ip, netaddr.inet.port)); sp = PR_NEW(Server_Param); @@ -341,7 +341,7 @@ TCP_Server(void *arg) sp->iod.socket = sockfd; sp->iod.timeout = PR_SecondsToInterval(60); sp->datalen = tcp_mesg_size; - sp->exit_mon = sc_mon; + sp->exit_mon = NULL; sp->job_counterp = &job_counter; sp->conn_counter = 0; sp->tp = tp; @@ -464,7 +464,7 @@ TCP_Server_Accept(void *arg) PR_FALSE); PR_ASSERT(NULL != jobp); - DPRINTF(("TCP_Server: Created Serve_Client = 0x%lx\n", jobp)); + DPRINTF(("TCP_Server: Created Serve_Client = %p\n", jobp)); /* * single-threaded update; no lock needed @@ -481,7 +481,7 @@ TCP_Server_Accept(void *arg) print_stats, sp, PR_FALSE); PR_ASSERT(NULL != jobp); - DPRINTF(("TCP_Server: Created print_stats timer job = 0x%lx\n", jobp)); + DPRINTF(("TCP_Server: Created print_stats timer job = %p\n", jobp)); exit: PR_EnterMonitor(sp->exit_mon); @@ -498,9 +498,9 @@ exit: } PR_DestroyMonitor(sp->exit_mon); printf("%30s","TCP_Socket_Client_Server_Test:"); - printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l, + printf(" 1 Server %2d Clients %2d connections_per_client\n", num_tcp_clients, num_tcp_connections_per_client); - printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":", + printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":", num_tcp_mesgs_per_connection, tcp_mesg_size); DPRINTF(("%s: calling PR_ShutdownThreadPool\n", program_name)); --- pr/tests/thruput.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/thruput.c @@ -66,7 +66,7 @@ static void PR_CALLBACK Clientel(void *a { PRStatus rv; PRFileDesc *xport; - PRInt32 bytes, sampled; + PRInt32 bytes, sampled = -1; PRIntervalTime now, interval; PRBool do_display = PR_FALSE; Shared *shared = (Shared*)arg; @@ -175,7 +175,7 @@ static void Client(const char *server_na static void PR_CALLBACK Servette(void *arg) { - PRInt32 bytes, sampled; + PRInt32 bytes, sampled = -1; PRIntervalTime now, interval; PRBool do_display = PR_FALSE; PRFileDesc *client = (PRFileDesc*)arg; @@ -373,6 +373,7 @@ int main(int argc, char **argv) else Client(server_name); return 0; + return 0; } /* main */ /* thruput.c */ --- pr/tests/timemac.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/timemac.c @@ -24,7 +24,7 @@ static void printExplodedTime(const PREx const char *sign; /* Print day of the week, month, day, hour, minute, and second */ - printf( "%s %s %ld %02ld:%02ld:%02ld ", + printf( "%s %s %d %02d:%02d:%02d ", dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday, et->tm_hour, et->tm_min, et->tm_sec); @@ -40,7 +40,7 @@ static void printExplodedTime(const PREx } hourOffset = totalOffset / 3600; minOffset = (totalOffset % 3600) / 60; - printf("%s%02ld%02ld ", sign, hourOffset, minOffset); + printf("%s%02d%02d ", sign, hourOffset, minOffset); } /* Print year */ @@ -97,7 +97,7 @@ int main(int argc, char** argv) printf("Current local time is "); printExplodedTime(&et); printf("\n"); - printf("GMT offset is %ld, DST offset is %ld\n", + printf("GMT offset is %d, DST offset is %d\n", et.tm_params.tp_gmt_offset, et.tm_params.tp_dst_offset); t2 = PR_ImplodeTime(&et); if (LL_NE(t1, t2)) { --- pr/tests/timetest.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/timetest.c @@ -36,7 +36,7 @@ static void PrintExplodedTime(const PREx const char *sign; /* Print day of the week, month, day, hour, minute, and second */ - if (debug_mode) printf("%s %s %ld %02ld:%02ld:%02ld ", + if (debug_mode) printf("%s %s %d %02d:%02d:%02d ", dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday, et->tm_hour, et->tm_min, et->tm_sec); @@ -53,7 +53,7 @@ static void PrintExplodedTime(const PREx hourOffset = totalOffset / 3600; minOffset = (totalOffset % 3600) / 60; if (debug_mode) - printf("%s%02ld%02ld ", sign, hourOffset, minOffset); + printf("%s%02d%02d ", sign, hourOffset, minOffset); } /* Print year */ @@ -232,7 +232,7 @@ int main(int argc, char** argv) if (debug_mode) printf("Current local time is "); PrintExplodedTime(&et); if (debug_mode) printf("\n"); - if (debug_mode) printf("GMT offset is %ld, DST offset is %ld\n", + if (debug_mode) printf("GMT offset is %d, DST offset is %d\n", et.tm_params.tp_gmt_offset, et.tm_params.tp_dst_offset); t2 = PR_ImplodeTime(&et); if (LL_NE(t1, t2)) { --- pr/tests/y2k.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/y2k.c @@ -43,7 +43,7 @@ static void PrintExplodedTime(const PREx const char *sign; /* Print day of the week, month, day, hour, minute, and second */ - printf("%s %s %2ld %02ld:%02ld:%02ld ", + printf("%s %s %2d %02d:%02d:%02d ", dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday, et->tm_hour, et->tm_min, et->tm_sec); @@ -62,7 +62,7 @@ static void PrintExplodedTime(const PREx } hourOffset = totalOffset / 3600; minOffset = (totalOffset % 3600) / 60; - printf("%s%02ld%02ld ", sign, hourOffset, minOffset); + printf("%s%02d%02d ", sign, hourOffset, minOffset); } #ifdef PRINT_DETAILS printf("{%d, %d, %d, %d, %d, %d, %d, %d, %d, { %d, %d}}\n",et->tm_usec, --- pr/tests/y2ktmo.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/y2ktmo.c @@ -70,7 +70,7 @@ static struct _timeb start_time_tb; static void SleepThread(void *arg) { - PRIntervalTime timeout = (PRIntervalTime) arg; + PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; PRIntervalTime elapsed; #if defined(XP_UNIX) || defined(WIN32) PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout); @@ -121,7 +121,7 @@ static void SleepThread(void *arg) static void AcceptThread(void *arg) { - PRIntervalTime timeout = (PRIntervalTime) arg; + PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; PRIntervalTime elapsed; #if defined(XP_UNIX) || defined(WIN32) PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout); @@ -197,7 +197,7 @@ static void AcceptThread(void *arg) static void PollThread(void *arg) { - PRIntervalTime timeout = (PRIntervalTime) arg; + PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; PRIntervalTime elapsed; #if defined(XP_UNIX) || defined(WIN32) PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout); @@ -276,7 +276,7 @@ static void PollThread(void *arg) static void WaitCondVarThread(void *arg) { - PRIntervalTime timeout = (PRIntervalTime) arg; + PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; PRIntervalTime elapsed; #if defined(XP_UNIX) || defined(WIN32) PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout); @@ -340,7 +340,7 @@ static void WaitCondVarThread(void *arg) static void WaitMonitorThread(void *arg) { - PRIntervalTime timeout = (PRIntervalTime) arg; + PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; PRIntervalTime elapsed; #if defined(XP_UNIX) || defined(WIN32) PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout); @@ -397,7 +397,7 @@ static void WaitMonitorThread(void *arg) static void WaitCMonitorThread(void *arg) { - PRIntervalTime timeout = (PRIntervalTime) arg; + PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; PRIntervalTime elapsed; #if defined(XP_UNIX) || defined(WIN32) PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout); @@ -528,7 +528,7 @@ int main(int argc, char **argv) for (i = 0; i < num_thread_scopes; i++) { for (j = 0; j < num_thread_funcs; j++) { threads[idx] = PR_CreateThread(PR_USER_THREAD, threadFuncs[j], - (void*)PR_SecondsToInterval(secs), PR_PRIORITY_NORMAL, + (void*)(intptr_t)PR_SecondsToInterval(secs), PR_PRIORITY_NORMAL, threadScopes[i], PR_JOINABLE_THREAD, 0); if (threads[idx] == NULL) { fprintf(stderr, "PR_CreateThread failed\n"); --- pr/tests/zerolen.c.orig 2015-10-16 13:22:19 UTC +++ pr/tests/zerolen.c @@ -45,7 +45,7 @@ static void ClientThread(void *arg) { PRFileDesc *sock; PRNetAddr addr; - PRUint16 port = (PRUint16) arg; + PRUint16 port = (PRUint16)(uintptr_t)arg; char buf[1024]; PRInt32 nbytes; @@ -127,7 +127,7 @@ int main() * First test PR_Writev. */ clientThread = PR_CreateThread(PR_USER_THREAD, - ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)), + ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)), PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0); if (NULL == clientThread) { fprintf(stderr, "PR_CreateThread failed\n"); @@ -171,7 +171,7 @@ int main() * Then test PR_Write. */ clientThread = PR_CreateThread(PR_USER_THREAD, - ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)), + ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)), PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0); if (NULL == clientThread) { fprintf(stderr, "PR_CreateThread failed\n"); @@ -216,7 +216,7 @@ int main() * Finally test PR_Send. */ clientThread = PR_CreateThread(PR_USER_THREAD, - ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)), + ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)), PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0); if (NULL == clientThread) { fprintf(stderr, "PR_CreateThread failed\n");