mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 22:15:20 +00:00
update copyright notice
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: stats.h,v 1.14 2008/01/24 02:00:44 jinmei Exp $ */
|
||||
/* $Id: stats.h,v 1.15 2008/01/24 23:47:00 tbox Exp $ */
|
||||
|
||||
#ifndef DNS_STATS_H
|
||||
#define DNS_STATS_H 1
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1998-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: types.h,v 1.127 2008/01/24 02:00:44 jinmei Exp $ */
|
||||
/* $Id: types.h,v 1.128 2008/01/24 23:47:00 tbox Exp $ */
|
||||
|
||||
#ifndef DNS_TYPES_H
|
||||
#define DNS_TYPES_H 1
|
||||
@@ -260,7 +260,7 @@ enum {
|
||||
dns_trust_additional = 2,
|
||||
#define dns_trust_additional ((dns_trust_t)dns_trust_additional)
|
||||
|
||||
/* Received in a referral response. */
|
||||
/* Received in a referral response. */
|
||||
dns_trust_glue = 3,
|
||||
#define dns_trust_glue ((dns_trust_t)dns_trust_glue)
|
||||
|
||||
@@ -277,7 +277,7 @@ enum {
|
||||
dns_trust_authanswer = 6,
|
||||
#define dns_trust_authanswer ((dns_trust_t)dns_trust_authanswer)
|
||||
|
||||
/* Successfully DNSSEC validated */
|
||||
/* Successfully DNSSEC validated */
|
||||
dns_trust_secure = 7,
|
||||
#define dns_trust_secure ((dns_trust_t)dns_trust_secure)
|
||||
|
||||
@@ -319,7 +319,7 @@ typedef void
|
||||
typedef void
|
||||
(*dns_updatecallback_t)(void *, isc_result_t, dns_message_t *);
|
||||
|
||||
typedef int
|
||||
typedef int
|
||||
(*dns_rdatasetorderfunc_t)(const dns_rdata_t *, const void *);
|
||||
|
||||
typedef isc_boolean_t
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: zone.h,v 1.154 2008/01/24 02:00:44 jinmei Exp $ */
|
||||
/* $Id: zone.h,v 1.155 2008/01/24 23:47:00 tbox Exp $ */
|
||||
|
||||
#ifndef DNS_ZONE_H
|
||||
#define DNS_ZONE_H 1
|
||||
@@ -1194,7 +1194,7 @@ dns_zone_setnotifytype(dns_zone_t *zone, dns_notifytype_t notifytype);
|
||||
|
||||
isc_result_t
|
||||
dns_zone_forwardupdate(dns_zone_t *zone, dns_message_t *msg,
|
||||
dns_updatecallback_t callback, void *callback_arg);
|
||||
dns_updatecallback_t callback, void *callback_arg);
|
||||
/*%<
|
||||
* Forward 'msg' to each master in turn until we get an answer or we
|
||||
* have exausted the list of masters. 'callback' will be called with
|
||||
@@ -1400,7 +1400,7 @@ dns_zonemgr_getttransfersperns(dns_zonemgr_t *zmgr);
|
||||
void
|
||||
dns_zonemgr_setiolimit(dns_zonemgr_t *zmgr, isc_uint32_t iolimit);
|
||||
/*%<
|
||||
* Set the number of simultaneous file descriptors available for
|
||||
* Set the number of simultaneous file descriptors available for
|
||||
* reading and writing masterfiles.
|
||||
*
|
||||
* Requires:
|
||||
@@ -1411,7 +1411,7 @@ dns_zonemgr_setiolimit(dns_zonemgr_t *zmgr, isc_uint32_t iolimit);
|
||||
isc_uint32_t
|
||||
dns_zonemgr_getiolimit(dns_zonemgr_t *zmgr);
|
||||
/*%<
|
||||
* Get the number of simultaneous file descriptors available for
|
||||
* Get the number of simultaneous file descriptors available for
|
||||
* reading and writing masterfiles.
|
||||
*
|
||||
* Requires:
|
||||
@@ -1539,7 +1539,7 @@ void
|
||||
dns_zone_name(dns_zone_t *zone, char *buf, size_t len);
|
||||
/*%<
|
||||
* Return the name of the zone with class and view.
|
||||
*
|
||||
*
|
||||
* Requires:
|
||||
*\li 'zone' to be valid.
|
||||
*\li 'buf' to be non NULL.
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: stats.c,v 1.13 2008/01/24 02:00:44 jinmei Exp $ */
|
||||
/* $Id: stats.c,v 1.14 2008/01/24 23:47:00 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: zone.c,v 1.471 2008/01/24 02:00:44 jinmei Exp $ */
|
||||
/* $Id: zone.c,v 1.472 2008/01/24 23:47:00 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -355,7 +355,7 @@ struct dns_zonemgr {
|
||||
isc_uint32_t ioactive;
|
||||
dns_iolist_t high;
|
||||
dns_iolist_t low;
|
||||
|
||||
|
||||
/* Locked by rwlock. */
|
||||
/* LRU cache */
|
||||
struct dns_unreachable unreachable[UNREACH_CHACHE_SIZE];
|
||||
@@ -869,10 +869,10 @@ dns_zone_getdbtype(dns_zone_t *zone, char ***argv, isc_mem_t *mctx) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
void *mem;
|
||||
char **tmp, *tmp2;
|
||||
|
||||
|
||||
REQUIRE(DNS_ZONE_VALID(zone));
|
||||
REQUIRE(argv != NULL && *argv == NULL);
|
||||
|
||||
|
||||
LOCK_ZONE(zone);
|
||||
size = (zone->db_argc + 1) * sizeof(char *);
|
||||
for (i = 0; i < zone->db_argc; i++)
|
||||
@@ -1007,7 +1007,7 @@ void
|
||||
dns_zone_setacache(dns_zone_t *zone, dns_acache_t *acache) {
|
||||
REQUIRE(DNS_ZONE_VALID(zone));
|
||||
REQUIRE(acache != NULL);
|
||||
|
||||
|
||||
LOCK_ZONE(zone);
|
||||
if (zone->acache != NULL)
|
||||
dns_acache_detach(&zone->acache);
|
||||
@@ -1501,7 +1501,7 @@ zone_check_mx(dns_zone_t *zone, dns_db_t *db, dns_name_t *name,
|
||||
dns_fixedname_t fixed;
|
||||
dns_name_t *foundname;
|
||||
int level;
|
||||
|
||||
|
||||
/*
|
||||
* Outside of zone.
|
||||
*/
|
||||
@@ -1583,7 +1583,7 @@ zone_check_srv(dns_zone_t *zone, dns_db_t *db, dns_name_t *name,
|
||||
dns_fixedname_t fixed;
|
||||
dns_name_t *foundname;
|
||||
int level;
|
||||
|
||||
|
||||
/*
|
||||
* "." means the services does not exist.
|
||||
*/
|
||||
@@ -1674,7 +1674,7 @@ zone_check_glue(dns_zone_t *zone, dns_db_t *db, dns_name_t *name,
|
||||
dns_rdataset_t a;
|
||||
dns_rdataset_t aaaa;
|
||||
int level;
|
||||
|
||||
|
||||
/*
|
||||
* Outside of zone.
|
||||
*/
|
||||
@@ -1712,7 +1712,7 @@ zone_check_glue(dns_zone_t *zone, dns_db_t *db, dns_name_t *name,
|
||||
if (tresult == ISC_R_SUCCESS) {
|
||||
dns_rdataset_disassociate(&aaaa);
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
}
|
||||
if (tresult == DNS_R_DELEGATION)
|
||||
dns_rdataset_disassociate(&aaaa);
|
||||
if (result == DNS_R_GLUE || tresult == DNS_R_GLUE) {
|
||||
@@ -1825,7 +1825,7 @@ integrity_checks(dns_zone_t *zone, dns_db_t *db) {
|
||||
if (dns_name_equal(name, &zone->origin))
|
||||
goto checkmx;
|
||||
|
||||
result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_ns,
|
||||
result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_ns,
|
||||
0, 0, &rdataset, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto checkmx;
|
||||
@@ -1847,7 +1847,7 @@ integrity_checks(dns_zone_t *zone, dns_db_t *db) {
|
||||
dns_rdataset_disassociate(&rdataset);
|
||||
|
||||
checkmx:
|
||||
result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_mx,
|
||||
result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_mx,
|
||||
0, 0, &rdataset, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto checksrv;
|
||||
@@ -1866,7 +1866,7 @@ integrity_checks(dns_zone_t *zone, dns_db_t *db) {
|
||||
checksrv:
|
||||
if (zone->rdclass != dns_rdataclass_in)
|
||||
goto next;
|
||||
result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_srv,
|
||||
result = dns_db_findrdataset(db, node, NULL, dns_rdatatype_srv,
|
||||
0, 0, &rdataset, NULL);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto next;
|
||||
@@ -1924,12 +1924,12 @@ zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db) {
|
||||
|
||||
for (result = dns_rdataset_first(&rdataset);
|
||||
result == ISC_R_SUCCESS;
|
||||
result = dns_rdataset_next(&rdataset))
|
||||
result = dns_rdataset_next(&rdataset))
|
||||
{
|
||||
dns_rdataset_current(&rdataset, &rdata);
|
||||
result = dns_rdata_tostruct(&rdata, &dnskey, NULL);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
|
||||
|
||||
if ((dnskey.algorithm == DST_ALG_RSASHA1 ||
|
||||
dnskey.algorithm == DST_ALG_RSAMD5) &&
|
||||
dnskey.datalen > 1 && dnskey.data[0] == 1 &&
|
||||
@@ -1961,7 +1961,7 @@ zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db) {
|
||||
dns_db_detachnode(db, &node);
|
||||
if (version != NULL)
|
||||
dns_db_closeversion(db, &version, ISC_FALSE);
|
||||
|
||||
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
@@ -2115,7 +2115,7 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime,
|
||||
} else if (!isc_serial_ge(serial, zone->serial))
|
||||
dns_zone_log(zone, ISC_LOG_ERROR,
|
||||
"zone serial has gone backwards");
|
||||
else if (serial == zone->serial && !hasinclude)
|
||||
else if (serial == zone->serial && !hasinclude)
|
||||
dns_zone_log(zone, ISC_LOG_ERROR,
|
||||
"zone serial unchanged. "
|
||||
"zone may fail to transfer "
|
||||
@@ -2247,7 +2247,7 @@ zone_check_ns(dns_zone_t *zone, dns_db_t *db, dns_name_t *name) {
|
||||
dns_fixedname_t fixed;
|
||||
dns_name_t *foundname;
|
||||
int level;
|
||||
|
||||
|
||||
if (DNS_ZONE_OPTION(zone, DNS_ZONEOPT_NOCHECKNS))
|
||||
return (ISC_TRUE);
|
||||
|
||||
@@ -2836,7 +2836,7 @@ dns_zone_setmasterswithkeys(dns_zone_t *zone,
|
||||
}
|
||||
|
||||
LOCK_ZONE(zone);
|
||||
/*
|
||||
/*
|
||||
* The refresh code assumes that 'masters' wouldn't change under it.
|
||||
* If it will change then kill off any current refresh in progress
|
||||
* and update the masters info. If it won't change then we can just
|
||||
@@ -2891,7 +2891,7 @@ dns_zone_setmasterswithkeys(dns_zone_t *zone,
|
||||
goto unlock;
|
||||
}
|
||||
memcpy(new, masters, count * sizeof(*new));
|
||||
|
||||
|
||||
/*
|
||||
* Similarly for mastersok.
|
||||
*/
|
||||
@@ -4240,7 +4240,7 @@ stub_callback(isc_task_t *task, isc_event_t *event) {
|
||||
goto same_master;
|
||||
}
|
||||
dns_zonemgr_unreachableadd(zone->zmgr, &zone->masteraddr,
|
||||
&zone->sourceaddr, &now);
|
||||
&zone->sourceaddr, &now);
|
||||
dns_zone_log(zone, ISC_LOG_INFO,
|
||||
"could not refresh stub from master %s"
|
||||
" (source %s): %s", master, source,
|
||||
@@ -4515,7 +4515,7 @@ refresh_callback(isc_task_t *task, isc_event_t *event) {
|
||||
goto tcp_transfer;
|
||||
}
|
||||
dns_zone_log(zone, ISC_LOG_DEBUG(1),
|
||||
"refresh: skipped tcp fallback"
|
||||
"refresh: skipped tcp fallback"
|
||||
"as master %s (source %s) is "
|
||||
"unreachable (cached)",
|
||||
master, source);
|
||||
@@ -4699,7 +4699,7 @@ refresh_callback(isc_task_t *task, isc_event_t *event) {
|
||||
dns_zone_log(zone, ISC_LOG_INFO,
|
||||
"refresh: skipping %s as master %s "
|
||||
"(source %s) is unreachable (cached)",
|
||||
zone->type == dns_zone_slave ?
|
||||
zone->type == dns_zone_slave ?
|
||||
"zone transfer" : "NS query",
|
||||
master, source);
|
||||
goto next_master;
|
||||
@@ -4935,7 +4935,7 @@ add_opt(dns_message_t *message, isc_uint16_t udpsize) {
|
||||
if (result != ISC_R_SUCCESS)
|
||||
goto cleanup;
|
||||
dns_rdataset_init(rdataset);
|
||||
|
||||
|
||||
rdatalist->type = dns_rdatatype_opt;
|
||||
rdatalist->covers = 0;
|
||||
|
||||
@@ -4972,7 +4972,7 @@ add_opt(dns_message_t *message, isc_uint16_t udpsize) {
|
||||
dns_message_puttemprdataset(message, &rdataset);
|
||||
if (rdata != NULL)
|
||||
dns_message_puttemprdata(message, &rdata);
|
||||
|
||||
|
||||
return (result);
|
||||
}
|
||||
|
||||
@@ -5262,7 +5262,7 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) {
|
||||
}
|
||||
}
|
||||
if (key == NULL)
|
||||
(void)dns_view_getpeertsig(zone->view, &masterip, &key);
|
||||
(void)dns_view_getpeertsig(zone->view, &masterip, &key);
|
||||
|
||||
if (zone->view->peers != NULL) {
|
||||
dns_peer_t *peer = NULL;
|
||||
@@ -5282,7 +5282,7 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) {
|
||||
dns_resolver_getudpsize(zone->view->resolver);
|
||||
(void)dns_peer_getudpsize(peer, &udpsize);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if (!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NOEDNS)) {
|
||||
result = add_opt(message, udpsize);
|
||||
@@ -5416,7 +5416,7 @@ zone_shutdown(isc_task_t *task, isc_event_t *event) {
|
||||
if (zone->writeio != NULL)
|
||||
zonemgr_cancelio(zone->writeio);
|
||||
|
||||
if (zone->dctx != NULL)
|
||||
if (zone->dctx != NULL)
|
||||
dns_dumpctx_cancel(zone->dctx);
|
||||
}
|
||||
|
||||
@@ -6846,7 +6846,7 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) {
|
||||
}
|
||||
DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_NEEDCOMPACT);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* This transfer finishing freed up a transfer quota slot.
|
||||
* Let any other zones waiting for quota have it.
|
||||
@@ -6884,7 +6884,7 @@ zone_loaddone(void *arg, isc_result_t result) {
|
||||
ENTER;
|
||||
|
||||
tresult = dns_db_endload(load->db, &load->callbacks.add_private);
|
||||
if (tresult != ISC_R_SUCCESS &&
|
||||
if (tresult != ISC_R_SUCCESS &&
|
||||
(result == ISC_R_SUCCESS || result == DNS_R_SEENINCLUDE))
|
||||
result = tresult;
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2003 Internet Software Consortium.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: platform.h.in,v 1.46 2008/01/24 02:00:44 jinmei Exp $ */
|
||||
/* $Id: platform.h.in,v 1.47 2008/01/24 23:47:00 tbox Exp $ */
|
||||
|
||||
#ifndef ISC_PLATFORM_H
|
||||
#define ISC_PLATFORM_H 1
|
||||
@@ -108,13 +108,13 @@
|
||||
* for IPv6.
|
||||
*/
|
||||
@ISC_PLATFORM_HAVELIFCONF@
|
||||
|
||||
|
||||
/*! \brief
|
||||
* Define if the system has struct if_laddrconf which is a extended struct
|
||||
* ifconf for IPv6.
|
||||
*/
|
||||
@ISC_PLATFORM_HAVEIF_LADDRCONF@
|
||||
|
||||
|
||||
/*! \brief
|
||||
* Define if the system has struct if_laddrreq.
|
||||
*/
|
||||
@@ -168,17 +168,17 @@
|
||||
* If the system needs strlcpy(), ISC_PLATFORM_NEEDSTRLCPY will be defined.
|
||||
*/
|
||||
@ISC_PLATFORM_NEEDSTRLCPY@
|
||||
|
||||
|
||||
/*
|
||||
* If the system needs strlcat(), ISC_PLATFORM_NEEDSTRLCAT will be defined.
|
||||
*/
|
||||
@ISC_PLATFORM_NEEDSTRLCAT@
|
||||
|
||||
|
||||
/*
|
||||
* Define if this system needs strtoul.
|
||||
*/
|
||||
@ISC_PLATFORM_NEEDSTRTOUL@
|
||||
|
||||
|
||||
/*
|
||||
* Define if this system needs memmove.
|
||||
*/
|
||||
@@ -187,28 +187,28 @@
|
||||
/***
|
||||
*** Miscellaneous.
|
||||
***/
|
||||
|
||||
|
||||
/*
|
||||
* Defined if we are using threads.
|
||||
*/
|
||||
@ISC_PLATFORM_USETHREADS@
|
||||
|
||||
|
||||
/*
|
||||
* Defined if unistd.h does not cause fd_set to be delared.
|
||||
*/
|
||||
@ISC_PLATFORM_NEEDSYSSELECTH@
|
||||
|
||||
|
||||
/*
|
||||
* Defined to <gssapi.h> or <gssapi/gssapi.h> for how to include
|
||||
* the GSSAPI header.
|
||||
*/
|
||||
@ISC_PLATFORM_GSSAPIHEADER@
|
||||
|
||||
|
||||
/*
|
||||
* Type used for resource limits.
|
||||
*/
|
||||
@ISC_PLATFORM_RLIMITTYPE@
|
||||
|
||||
|
||||
/*
|
||||
* Define if your compiler supports "long long int".
|
||||
*/
|
||||
@@ -232,25 +232,25 @@
|
||||
|
||||
/*
|
||||
* If the "xadd" operation is available on this architecture,
|
||||
* ISC_PLATFORM_HAVEXADD will be defined.
|
||||
* ISC_PLATFORM_HAVEXADD will be defined.
|
||||
*/
|
||||
@ISC_PLATFORM_HAVEXADD@
|
||||
|
||||
/*
|
||||
* If the "xaddq" operation (64bit xadd) is available on this architecture,
|
||||
* ISC_PLATFORM_HAVEXADDQ will be defined.
|
||||
* ISC_PLATFORM_HAVEXADDQ will be defined.
|
||||
*/
|
||||
@ISC_PLATFORM_HAVEXADDQ@
|
||||
|
||||
/*
|
||||
* If the "atomic swap" operation is available on this architecture,
|
||||
* ISC_PLATFORM_HAVEATOMICSTORE" will be defined.
|
||||
* ISC_PLATFORM_HAVEATOMICSTORE" will be defined.
|
||||
*/
|
||||
@ISC_PLATFORM_HAVEATOMICSTORE@
|
||||
|
||||
/*
|
||||
* If the "compare-and-exchange" operation is available on this architecture,
|
||||
* ISC_PLATFORM_HAVECMPXCHG will be defined.
|
||||
* ISC_PLATFORM_HAVECMPXCHG will be defined.
|
||||
*/
|
||||
@ISC_PLATFORM_HAVECMPXCHG@
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -14,7 +14,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: atomic.h,v 1.9 2008/01/24 02:00:44 jinmei Exp $ */
|
||||
/* $Id: atomic.h,v 1.10 2008/01/24 23:47:00 tbox Exp $ */
|
||||
|
||||
#ifndef ISC_ATOMIC_H
|
||||
#define ISC_ATOMIC_H 1
|
||||
@@ -72,7 +72,7 @@ isc_atomic_store(isc_int32_t *p, isc_int32_t val) {
|
||||
* xchg should automatically lock memory, but we add it
|
||||
* explicitly just in case (it at least doesn't harm)
|
||||
*/
|
||||
"lock;"
|
||||
"lock;"
|
||||
#endif
|
||||
|
||||
"xchgl %1, %0"
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -14,7 +14,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: atomic.h,v 1.5 2008/01/24 02:00:44 jinmei Exp $ */
|
||||
/* $Id: atomic.h,v 1.6 2008/01/24 23:47:00 tbox Exp $ */
|
||||
|
||||
#ifndef ISC_ATOMIC_H
|
||||
#define ISC_ATOMIC_H 1
|
||||
@@ -58,20 +58,20 @@ isc_atomic_xadd(isc_int32_t *p, isc_int32_t val) {
|
||||
#ifdef ISC_PLATFORM_HAVEXADDQ
|
||||
static isc_int64_t
|
||||
isc_atomic_xaddq(isc_int64_t *p, isc_int64_t val) {
|
||||
UNUSED(p);
|
||||
UNUSED(val);
|
||||
UNUSED(p);
|
||||
UNUSED(val);
|
||||
|
||||
__asm (
|
||||
"movq %rdi, %rdx\n"
|
||||
"movq %rsi, %rax\n"
|
||||
__asm (
|
||||
"movq %rdi, %rdx\n"
|
||||
"movq %rsi, %rax\n"
|
||||
#ifdef ISC_PLATFORM_USETHREADS
|
||||
"lock;"
|
||||
"lock;"
|
||||
#endif
|
||||
"xaddq %rax, (%rdx)\n"
|
||||
"xaddq %rax, (%rdx)\n"
|
||||
/*
|
||||
* XXX: assume %rax will be used as the return value.
|
||||
*/
|
||||
);
|
||||
);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user