equal
deleted
inserted
replaced
18 * |
18 * |
19 * CDDL HEADER END |
19 * CDDL HEADER END |
20 */ |
20 */ |
21 |
21 |
22 /* |
22 /* |
23 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. |
23 * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. |
24 * Use is subject to license terms. |
|
25 * |
24 * |
26 * Audit interfaces. Auditing can be enabled in two ways: |
25 * Audit interfaces. Auditing can be enabled in two ways: |
27 * |
26 * |
28 * o Using the LD_AUDIT environment variable |
27 * o Using the LD_AUDIT environment variable |
29 * |
28 * |
90 Audit_list *alp; |
89 Audit_list *alp; |
91 Aliste idx; |
90 Aliste idx; |
92 |
91 |
93 for (APLIST_TRAVERSE(list, idx, alp)) { |
92 for (APLIST_TRAVERSE(list, idx, alp)) { |
94 Audit_client *fracp, *feacp; |
93 Audit_client *fracp, *feacp; |
|
94 int ret; |
95 |
95 |
96 if (alp->al_objfilter == NULL) |
96 if (alp->al_objfilter == NULL) |
97 continue; |
97 continue; |
98 if ((fracp = _audit_client(AUDINFO(frlmp), |
98 if ((fracp = _audit_client(AUDINFO(frlmp), |
99 alp->al_lmp)) == NULL) |
99 alp->al_lmp)) == NULL) |
101 if ((feacp = _audit_client(AUDINFO(felmp), |
101 if ((feacp = _audit_client(AUDINFO(felmp), |
102 alp->al_lmp)) == NULL) |
102 alp->al_lmp)) == NULL) |
103 continue; |
103 continue; |
104 |
104 |
105 leave(LIST(alp->al_lmp), thr_flg_reenter); |
105 leave(LIST(alp->al_lmp), thr_flg_reenter); |
106 if ((*alp->al_objfilter)(&(fracp->ac_cookie), ref, |
106 ret = (*alp->al_objfilter)(&(fracp->ac_cookie), ref, |
107 &(feacp->ac_cookie), flags) == 0) |
107 &(feacp->ac_cookie), flags); |
|
108 (void) enter(thr_flg_reenter); |
|
109 if (ret == 0) |
108 return (0); |
110 return (0); |
109 (void) enter(thr_flg_reenter); |
|
110 } |
111 } |
111 return (1); |
112 return (1); |
112 } |
113 } |
113 |
114 |
114 int |
115 int |