Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Jun 2009 00:28:43 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/rpc clnt_rc.c
Message-ID:  <200906250029.n5P0T7GJ086857@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
rmacklem    2009-06-25 00:28:43 UTC

  FreeBSD src repository

  Modified files:
    sys/rpc              clnt_rc.c 
  Log:
  SVN rev 194934 on 2009-06-25 00:28:43Z by rmacklem
  
  Fix two known problems in clnt_rc.c, plus issues w.r.t. smp noted
  during reading of the code. Change the code so that it never accesses
  rc_connecting, rc_closed or rc_client when the rc_lock mutex is not held.
  Also, it now performs the CLNT_CLOSE(client) and CLNT_RELEASE(client)
  calls after the rc_lock mutex has been released, since those calls do
  msleep()s with another mutex held. Change clnt_reconnect_call() so that
  releasing the reference count is delayed until after the
  "if (rc->rc_client == client)" check, so that rc_client cannot have been
  recycled.
  
  Tested by:      pho
  Reviewed by:    dfr
  Approved by:    kib (mentor)
  
  Revision  Changes    Path
  1.9       +74 -42    src/sys/rpc/clnt_rc.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906250029.n5P0T7GJ086857>