This is the mail archive of the cygwin-patches@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Reference counting on Audio objects for /dev/dsp


On Thu, Jul 15, 2004 at 02:57:17PM -0400, Igor Pechtchanski wrote:
>> 2) The other problem is that I find it sort of odd to see the dec()
>> method performing a deletion.  Couldn't this be handled where, IMO,
>> it should logically be handled, in the close function, e.g.,
>>
>>   if (!audio_out_->dec ())
>>     delete audio_out_;
>> ?
>
>Umm, that's actually a rather standard construct in reference counting
>(called "object suicide" -- you should get some references if you Google
>for "object suicide reference counting").

Yes, I thought that would be your answer, however, I don't like the idea
of having a method called "inc" which just increments a count and a method
called "dec" which decrements a count and, oh, hey, it might delete the
object, too.

It seems more straightforward to delete audio_out_ in the place where
you'd expect it to be deleted rather than having a o a "dec" call which,
if you check, you'll notice that it deletes the buffer.

Or, as a compromise, don't call it 'dec'.  Call it something which
illustrates what it is doing.

cgf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]