BIND 10 #2899: move interprocess_sync under lib/log or make it a separate private lib

BIND 10 Development do-not-reply at isc.org
Wed Apr 3 17:47:29 UTC 2013


#2899: move interprocess_sync under lib/log or make it a separate private lib
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  UnAssigned
  jinmei                             |                Status:  new
                       Type:         |             Milestone:  Next-Sprint-
  defect                             |  Proposed
                   Priority:  very   |              Keywords:
  high                               |             Sensitive:  0
                  Component:  build  |           Sub-Project:  DNS
  system                             |  Estimated Difficulty:  0
               CVSS Scoring:         |           Total Hours:  0
            Defect Severity:  N/A    |
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
 On merge of #2198 libutil now requires linking the pthread library
 as libutil contains the interprocess_sync stuff, which now requires
 pthread mutex.

 This is bad, because libutil is used almost all other modules and
 libraries of BIND 10, some of which may not necessary need to be
 threaded, while the interprocess_sync thing is only needed for
 logging.  This particularly applies to libdns++.

 I also am not really enthusiastic about reinventing such low level
 thing like flock and now with pthread mutex ourselves.  In general, we
 should use existing proven libraries.

 For these reasons I request the interprocess_sync now be moved under
 liblog as a kind of private sub-library of it (e.g. just like
 lib/datasrc/memory for libdatasrc).  We shouldn't use it for any other
 purposes than logging anyway.

 This also helps avoid otherwise-unnecessary regression in
 modules/libraries that don't use logging.  For example, unittests for
 libdns++ with static link now fails on my environment.  Not fully
 looked into the cause, but I know it succeeded against a quite recent
 version of code before #2198, so it's quite likely to be related to
 this issue.

-- 
Ticket URL: <http://bind10.isc.org/ticket/2899>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list