> yeah, well it seems to me that this would be a really smart > thing to do _anyway_. > > throw an assert if someone tries to register the same > 'object' twice, not just a child-sms. > > is that possible?
Possible, yes :) > if you have a file object, how can you check it's not the same? > > .... by using the cleanup function's address _and_ the void* > as the 'key'? > > does that work? Yes (but you need to add the type too). That is how the matching works in sms cleanups already. We just don't do a check for uniqueness in the registration function yet. > that way, if it's a file object, then the file-cleanup-function > pointer is the same and oh, whoops, the file object is the > same too ASSERT. same for handles, sockets... > > .... about the only exception is the null cleanup [is that used > in sms?] We don't have a null cleanup in sms. It is not needed here. Although I have come across a situation which could screw up the entire idea behind the sms cleanups. It was in http_log.c I believe... :( [I'll expand on that later] Sander
