www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Lessons Learned: Writing a filesystem in D

reply Walter Bright <newshound2 digitalmars.com> writes:
https://www.reddit.com/r/programming/comments/3cg1r0/lessons_learned_writing_a_filesystem_in_d/
Jul 07 2015
parent reply "Adrian Matoga" <epi atari8.info> writes:
On Tuesday, 7 July 2015 at 21:41:47 UTC, Walter Bright wrote:
 https://www.reddit.com/r/programming/comments/3cg1r0/lessons_learned_writing_a_filesystem_in_d/
I run up against the same problem with threads when trying to play audio asynchronously - the callbacks are made from another thread which is created outside D. I solved it by disabling GC in callbacks that might invoke it, but it seems there's another solution to try out.
Jul 08 2015
parent "Dragos Carp" <dragoscarp gmail.com> writes:
On Wednesday, 8 July 2015 at 13:08:08 UTC, Adrian Matoga wrote:
 I run up against the same problem with threads when trying to 
 play audio asynchronously - the callbacks are made from another 
 thread which is created outside D. I solved it by disabling GC 
 in callbacks that might invoke it, but it seems there's another 
 solution to try out.
Why would such a callback need to allocate memory? For a similar project I used PortAudio with the D bindings [1]. In the callback, I just copy data from the D data stream to the port audio buffers and consume the copied data from the data stream. It works perfectly without any GC calls. [1] https://github.com/D-Programming-Deimos/portaudio
Jul 08 2015