Hi,
Sorry for the delay...
On Sat, Mar 03, 2001 at 10:13:38AM -0500, Stuffed Crust wrote:
> Yeah; it is the unix soundserver for lack of a better name. Though if I
> ever get my pthread port done.. that could probably get ported over to
> win32 with minimal difficulty. (comments?)
I guess so :->
> Just had a thought. If I update the GET_SELECTOR and PUT_SELECTOR
> macros with a pthread_lock, would that effectively lock the heap for
> direct writes by the soundserver?
No. Heap access is still done by PUT_HEAP() and GET_HEAP(), some of which
directly access selectors. If an object accesses its local "state" selector,
it won't resort to GET_SELECTOR or PUT_SELECTOR, which are O(n), but,
rather, will address them directly (O(1)).
Note that it is possible to implement GET_SELECTOR and PUT_SELECTOR with
O(log n), which is something we should be looking into for 0.6.0.
> It won't do anything other than
> put_selector.. I'd prefer the soundserver keep a 'local' copy of the
> song/resource data anyhow.
I don't like the idea of locking on every access... I guess that the vast
majority of cycles is spent in the gfx subsystem, but that doesn't mean
that we should introduce a conceptual slowdown like this.
How about checking for new messages more often? For testing purposes, you
might add some checks to some of the functions in the VM's main loop (branch
operations, ret, send/call/calle/callb might be candidates for this)...
> I'm currently working on a PC beeper driver. Too bad I can't just
> access a /dev/pcspeaker or whatever directly. there are some ioctls
> that do exactly what I need, but you have to be logged on at a console
> for them to work...
That would work with the ggi driver running on svgalib or fbcon (or aalib,
if you're into that sort of thing).
> and the XBell stuff might not be reliable enough.
> still a work in progress. :)
Sure, have fun! Still, it'd be great if you could look into making the
GM mapping work; a lot of people would prefer that over PC speaker and
MT-32 support ;-)
BTW: Does anybody have any problems with the sound server not keeping up
with audio output under normal system load? It works fine here, but that
doesn't mean everything's perfect for the rest of the world...
llap,
Christoph
-- Attached file included as plaintext by Listar --
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iEYEARECAAYFAjqivpIACgkQg4EAPSSqEf9R1ACfYriJ2Qf06cZyKg0o+54ZGP6O
ficAnRhhE9YiO/22wwzNSPCdPcOnZCF/
=2Xo/
-----END PGP SIGNATURE-----