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