Print this page
patch as-lock-macro-simplification

@@ -1750,22 +1750,22 @@
          * All other lwps have already stopped and are in an orderly state.
          */
         ASSERT(p == ttoproc(curthread));
         prstop(0, 0);
 
-        AS_LOCK_ENTER(as, &as->a_lock, RW_WRITER);
+        AS_LOCK_ENTER(as, RW_WRITER);
         nphdrs = prnsegs(as, 0) + 2;            /* two CORE note sections */
 
         /*
          * Count the number of section headers we're going to need.
          */
         nshdrs = 0;
         if (content & (CC_CONTENT_CTF | CC_CONTENT_SYMTAB)) {
                 (void) process_scns(content, p, credp, NULL, NULL, NULL, 0,
                     NULL, &nshdrs);
         }
-        AS_LOCK_EXIT(as, &as->a_lock);
+        AS_LOCK_EXIT(as);
 
         ASSERT(nshdrs == 0 || nshdrs > 1);
 
         /*
          * The core file contents may required zero section headers, but if

@@ -1877,11 +1877,11 @@
         stkbase = p->p_usrstack - p->p_stksize;
         stksize = p->p_stksize;
 
         mutex_exit(&p->p_lock);
 
-        AS_LOCK_ENTER(as, &as->a_lock, RW_WRITER);
+        AS_LOCK_ENTER(as, RW_WRITER);
         i = 2;
         for (seg = AS_SEGFIRST(as); seg != NULL; seg = AS_SEGNEXT(as, seg)) {
                 caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
                 caddr_t saddr, naddr;
                 void *tmp = NULL;

@@ -1977,11 +1977,11 @@
 exclude:
                         i++;
                 }
                 ASSERT(tmp == NULL);
         }
-        AS_LOCK_EXIT(as, &as->a_lock);
+        AS_LOCK_EXIT(as);
 
         if (overflow || i != nphdrs) {
                 if (ntries++ == 0) {
                         kmem_free(bigwad, bigsize);
                         overflow = 0;

@@ -2126,18 +2126,18 @@
 
                 if (nphdrs >= PN_XNUM)
                         bigwad->shdr[0].sh_info = nphdrs;
 
                 if (nshdrs > 1) {
-                        AS_LOCK_ENTER(as, &as->a_lock, RW_WRITER);
+                        AS_LOCK_ENTER(as, RW_WRITER);
                         if ((error = process_scns(content, p, credp, vp,
                             &bigwad->shdr[0], nshdrs, rlimit, &doffset,
                             NULL)) != 0) {
-                                AS_LOCK_EXIT(as, &as->a_lock);
+                                AS_LOCK_EXIT(as);
                                 goto done;
                         }
-                        AS_LOCK_EXIT(as, &as->a_lock);
+                        AS_LOCK_EXIT(as);
                 }
 
                 if ((error = core_write(vp, UIO_SYSSPACE, soffset,
                     &bigwad->shdr[0], shdrsz, rlimit, credp)) != 0)
                         goto done;