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]

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


Gerd,

I'd really like your comments on this patch.  As I reported before, it
didn't quite work for me, but with the recent problems in testing another
(presumably working) patch, I suspect my test procedure isn't quite
correct anyway.  The patch basically adds a (very problem-specific)
reference count to the Audio object(s), and doesn't delete the shared ones
until all pointers are gone.  It doesn't seem to fix the bash redirection
problem, but does allow the "dsp_dup_close" testcase to run (again, I'd
like your opinion on whether it runs correctly).

The ChangeLog below is just for the record -- as I said, I don't expect
this to be checked in yet.
	Igor
==============================================================================
ChangeLog:
2004-07-06  Igor Pechtchanski  <pechtcha@cs.nyu.edu>

	* fhandler_dsp.cc (fhandler_dev_dsp::Audio::reference_count_):
	New instance variable.
	(fhandler_dev_dsp::Audio::inc): New function.  Increment the
	reference_count_.
	(fhandler_dev_dsp::Audio::dec): New function.  Decrement the
	reference_count_ and delete if zero.
	(fhandler_dev_dsp::close): Replace delete with a call to dec().
	(fhandler_dev_dsp::dup): Copy audio_in_ and audio_out_ and call
	inc() on each.

-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster."  -- Patrick Naughton

Attachment: fhandler_dsp-dup.patch
Description: Text document


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