Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Side by Side Diff: nss/lib/util/secport.c

Issue 1504923011: Update NSS to 3.21 RTM and NSPR to 4.11 RTM (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 4
5 /* 5 /*
6 * secport.c - portability interfaces for security libraries 6 * secport.c - portability interfaces for security libraries
7 * 7 *
8 * This file abstracts out libc functionality that libsec depends on 8 * This file abstracts out libc functionality that libsec depends on
9 * 9 *
10 * NOTE - These are not public interfaces 10 * NOTE - These are not public interfaces
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 } 459 }
460 460
461 static void 461 static void
462 port_ArenaRelease(PLArenaPool *arena, void *mark, PRBool zero) 462 port_ArenaRelease(PLArenaPool *arena, void *mark, PRBool zero)
463 { 463 {
464 PORTArenaPool *pool = (PORTArenaPool *)arena; 464 PORTArenaPool *pool = (PORTArenaPool *)arena;
465 if (ARENAPOOL_MAGIC == pool->magic ) { 465 if (ARENAPOOL_MAGIC == pool->magic ) {
466 PZ_Lock(pool->lock); 466 PZ_Lock(pool->lock);
467 #ifdef THREADMARK 467 #ifdef THREADMARK
468 { 468 {
469 » threadmark_mark **pw, *tm; 469 » threadmark_mark **pw;
470 470
471 if (PR_GetCurrentThread() != pool->marking_thread ) { 471 if (PR_GetCurrentThread() != pool->marking_thread ) {
472 PZ_Unlock(pool->lock); 472 PZ_Unlock(pool->lock);
473 PORT_SetError(SEC_ERROR_NO_MEMORY); 473 PORT_SetError(SEC_ERROR_NO_MEMORY);
474 PORT_Assert(0); 474 PORT_Assert(0);
475 return /* no error indication available */ ; 475 return /* no error indication available */ ;
476 } 476 }
477 477
478 pw = &pool->first_mark; 478 pw = &pool->first_mark;
479 while( *pw && (mark != (*pw)->mark) ) { 479 while( *pw && (mark != (*pw)->mark) ) {
480 pw = &(*pw)->next; 480 pw = &(*pw)->next;
481 } 481 }
482 482
483 if (! *pw ) { 483 if (! *pw ) {
484 /* bad mark */ 484 /* bad mark */
485 PZ_Unlock(pool->lock); 485 PZ_Unlock(pool->lock);
486 PORT_SetError(SEC_ERROR_NO_MEMORY); 486 PORT_SetError(SEC_ERROR_NO_MEMORY);
487 PORT_Assert(0); 487 PORT_Assert(0);
488 return /* no error indication available */ ; 488 return /* no error indication available */ ;
489 } 489 }
490 490
491 tm = *pw;
492 *pw = (threadmark_mark *)NULL; 491 *pw = (threadmark_mark *)NULL;
493 492
494 if (zero) { 493 if (zero) {
495 port_ArenaZeroAfterMark(arena, mark); 494 port_ArenaZeroAfterMark(arena, mark);
496 } 495 }
497 PL_ARENA_RELEASE(arena, mark); 496 PL_ARENA_RELEASE(arena, mark);
498 497
499 if (! pool->first_mark ) { 498 if (! pool->first_mark ) {
500 pool->marking_thread = (PRThread *)NULL; 499 pool->marking_thread = (PRThread *)NULL;
501 } 500 }
(...skipping 27 matching lines...) Expand all
529 { 528 {
530 port_ArenaRelease(arena, mark, PR_TRUE); 529 port_ArenaRelease(arena, mark, PR_TRUE);
531 } 530 }
532 531
533 void 532 void
534 PORT_ArenaUnmark(PLArenaPool *arena, void *mark) 533 PORT_ArenaUnmark(PLArenaPool *arena, void *mark)
535 { 534 {
536 #ifdef THREADMARK 535 #ifdef THREADMARK
537 PORTArenaPool *pool = (PORTArenaPool *)arena; 536 PORTArenaPool *pool = (PORTArenaPool *)arena;
538 if (ARENAPOOL_MAGIC == pool->magic ) { 537 if (ARENAPOOL_MAGIC == pool->magic ) {
539 » threadmark_mark **pw, *tm; 538 » threadmark_mark **pw;
540 539
541 PZ_Lock(pool->lock); 540 PZ_Lock(pool->lock);
542 541
543 if (PR_GetCurrentThread() != pool->marking_thread ) { 542 if (PR_GetCurrentThread() != pool->marking_thread ) {
544 PZ_Unlock(pool->lock); 543 PZ_Unlock(pool->lock);
545 PORT_SetError(SEC_ERROR_NO_MEMORY); 544 PORT_SetError(SEC_ERROR_NO_MEMORY);
546 PORT_Assert(0); 545 PORT_Assert(0);
547 return /* no error indication available */ ; 546 return /* no error indication available */ ;
548 } 547 }
549 548
550 pw = &pool->first_mark; 549 pw = &pool->first_mark;
551 while( ((threadmark_mark *)NULL != *pw) && (mark != (*pw)->mark) ) { 550 while( ((threadmark_mark *)NULL != *pw) && (mark != (*pw)->mark) ) {
552 pw = &(*pw)->next; 551 pw = &(*pw)->next;
553 } 552 }
554 553
555 if ((threadmark_mark *)NULL == *pw ) { 554 if ((threadmark_mark *)NULL == *pw ) {
556 /* bad mark */ 555 /* bad mark */
557 PZ_Unlock(pool->lock); 556 PZ_Unlock(pool->lock);
558 PORT_SetError(SEC_ERROR_NO_MEMORY); 557 PORT_SetError(SEC_ERROR_NO_MEMORY);
559 PORT_Assert(0); 558 PORT_Assert(0);
560 return /* no error indication available */ ; 559 return /* no error indication available */ ;
561 } 560 }
562 561
563 tm = *pw;
564 *pw = (threadmark_mark *)NULL; 562 *pw = (threadmark_mark *)NULL;
565 563
566 if (! pool->first_mark ) { 564 if (! pool->first_mark ) {
567 pool->marking_thread = (PRThread *)NULL; 565 pool->marking_thread = (PRThread *)NULL;
568 } 566 }
569 567
570 PZ_Unlock(pool->lock); 568 PZ_Unlock(pool->lock);
571 } 569 }
572 #endif /* THREADMARK */ 570 #endif /* THREADMARK */
573 } 571 }
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 const unsigned char *b = (const unsigned char*) ib; 707 const unsigned char *b = (const unsigned char*) ib;
710 size_t i; 708 size_t i;
711 unsigned char r = 0; 709 unsigned char r = 0;
712 710
713 for (i = 0; i < n; ++i) { 711 for (i = 0; i < n; ++i) {
714 r |= *a++ ^ *b++; 712 r |= *a++ ^ *b++;
715 } 713 }
716 714
717 return r; 715 return r;
718 } 716 }
OLDNEW
« nss/lib/util/pkcs11n.h ('K') | « nss/lib/util/secport.h ('k') | nss/lib/util/utilmod.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698