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

Side by Side Diff: nspr/pr/src/linking/prlink.c

Issue 68173008: Update to NSPR 4.10.2. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/nss/
Patch Set: Update README.chromium Created 7 years, 1 month 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
« no previous file with comments | « nspr/pr/src/io/prsocket.c ('k') | nspr/pr/src/md/unix/unix_errors.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public 2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 5
6 #include "primpl.h" 6 #include "primpl.h"
7 7
8 #include <string.h> 8 #include <string.h>
9 9
10 #ifdef XP_BEOS 10 #ifdef XP_BEOS
(...skipping 941 matching lines...) Expand 10 before | Expand all | Expand 10 after
952 952
953 /* 953 /*
954 ** Unload a shared library which was loaded via PR_LoadLibrary 954 ** Unload a shared library which was loaded via PR_LoadLibrary
955 */ 955 */
956 PR_IMPLEMENT(PRStatus) 956 PR_IMPLEMENT(PRStatus)
957 PR_UnloadLibrary(PRLibrary *lib) 957 PR_UnloadLibrary(PRLibrary *lib)
958 { 958 {
959 int result = 0; 959 int result = 0;
960 PRStatus status = PR_SUCCESS; 960 PRStatus status = PR_SUCCESS;
961 961
962 if ((lib == 0) || (lib->refCount <= 0)) { 962 if (lib == 0) {
963 PR_SetError(PR_INVALID_ARGUMENT_ERROR, 0); 963 PR_SetError(PR_INVALID_ARGUMENT_ERROR, 0);
964 return PR_FAILURE; 964 return PR_FAILURE;
965 } 965 }
966 966
967 PR_EnterMonitor(pr_linker_lock); 967 PR_EnterMonitor(pr_linker_lock);
968
969 if (lib->refCount <= 0) {
970 PR_ExitMonitor(pr_linker_lock);
971 PR_SetError(PR_INVALID_ARGUMENT_ERROR, 0);
972 return PR_FAILURE;
973 }
974
968 if (--lib->refCount > 0) { 975 if (--lib->refCount > 0) {
969 PR_LOG(_pr_linker_lm, PR_LOG_MIN, 976 PR_LOG(_pr_linker_lm, PR_LOG_MIN,
970 ("%s decr => %d", 977 ("%s decr => %d",
971 lib->name, lib->refCount)); 978 lib->name, lib->refCount));
972 goto done; 979 goto done;
973 } 980 }
974 981
975 #ifdef XP_BEOS 982 #ifdef XP_BEOS
976 if(((image_id)lib->stub_dlh) == B_ERROR) 983 if(((image_id)lib->stub_dlh) == B_ERROR)
977 unload_add_on( (image_id) lib->dlh ); 984 unload_add_on( (image_id) lib->dlh );
(...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after
1592 result = PR_Malloc(strlen(module_name)+1); 1599 result = PR_Malloc(strlen(module_name)+1);
1593 if (result != NULL) { 1600 if (result != NULL) {
1594 strcpy(result, module_name); 1601 strcpy(result, module_name);
1595 } 1602 }
1596 return result; 1603 return result;
1597 #else 1604 #else
1598 PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0); 1605 PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
1599 return NULL; 1606 return NULL;
1600 #endif 1607 #endif
1601 } 1608 }
OLDNEW
« no previous file with comments | « nspr/pr/src/io/prsocket.c ('k') | nspr/pr/src/md/unix/unix_errors.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698