diff options
Diffstat (limited to 'security/sfs/patches/patch-ae')
-rw-r--r-- | security/sfs/patches/patch-ae | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/security/sfs/patches/patch-ae b/security/sfs/patches/patch-ae new file mode 100644 index 00000000000..fe81eda0e68 --- /dev/null +++ b/security/sfs/patches/patch-ae @@ -0,0 +1,35 @@ +$NetBSD: patch-ae,v 1.1 2006/10/21 11:53:13 agc Exp $ + +--- ./async/refcnt.h.orig 2002-09-21 00:05:21.000000000 +0100 ++++ ./async/refcnt.h +@@ -408,6 +408,8 @@ template<class T> + class ref : public refpriv, public refops<T> { + friend class refpriv; + ++ refops<T>::p; ++ + friend ref<T> mkref<T> (T *); + ref (T *pp, refcount *cc) : refpriv (cc) { p = pp; inc (); } + +@@ -455,6 +457,8 @@ template<class T> + class ptr : public refpriv, public refops <T> { + friend class refpriv; + ++ refops<T>::p; ++ + void inc () const { if (c) (rinc (c)); } + void dec () const { if (c) (rdec (c)); } + +@@ -509,10 +513,11 @@ public: + + template<class T> + struct bssptr : ptr<T> { ++ + // Don't initialize (assume we were 0 initialized in the BSS) + bssptr () : ptr<T> (__bss_init ()) {} + // Override the effects of destruction +- ~bssptr () { assert (globaldestruction); if (*this != NULL) Xleak (); } ++ ~bssptr () { assert (globaldestruction); if (*this != NULL) this->Xleak (); } + ptr<T> &operator= (refpriv::privtype *p) { return ptr<T>::operator= (p); } + template<class U> ptr<T> &operator= (const ptr<U> &r) + { return ptr<T>::operator= (r); } |