[tor-bugs] #18362 [Tor]: Tor could use a generic 'handle' / 'weakref' implementation.

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Feb 23 13:50:53 UTC 2016


#18362: Tor could use a generic 'handle' / 'weakref' implementation.
-------------------------+------------------------------------
 Reporter:  nickm        |          Owner:  nickm
     Type:  enhancement  |         Status:  accepted
 Priority:  High         |      Milestone:  Tor: 0.2.9.x-final
Component:  Tor          |        Version:
 Severity:  Normal       |     Resolution:
 Keywords:  modularity   |  Actual Points:
Parent ID:               |         Points:  small
  Sponsor:  SponsorS     |
-------------------------+------------------------------------

Comment (by cypherpunks):

 Replying to [ticket:18362 nickm]:

 >  the third is slower than regular pointer access.

 If you have a thread safe implementation, that's not really the case. You
 are going to use several atomic operations for each access, so a hashtable
 access wouldn't add that much overhead (probably comparable to 1 atomic
 operation using an int/int64 key).

 Your weakref implementation looks fundamentally broken. You need to
 convert the weak reference to a strong one before using the pointed to
 object. Otherwise, the object can get deleted in a multi-threaded context.
 You may want to look at C++ shared_ptr/weak_ptr.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/18362#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list