zap@indic.se (Jonas Petersson) (02/17/91)
I've just finished an Arexx sound daemon for those without lot's of chipmem
(which might show up here in a while) and during that development I had some
problems with the Audio device:
No matter what parameters I put in the channel allocation request, the
program either gets what it wants or hangs around 'til it does.
ADIOF_NOWAIT, IOF_QUICK, low/illegal values for ln_Pri makes no difference,
I have never got an IOERR_ALLOCFAILED...
The simple solution is ofcourse to allocate no channels as the last
combination, but I suppose I've missed something. Does someone have an
example that produces an IOERR_ALLOCFAILED?
Second question: Which is the "most civilized" way to check whether a msg
is waiting at a port or not? I currently use:
#define WaitingMsg(port) (port->mp_MsgList.lh_Head->ln_Type==NT_MESSAGE)
Seems to work fine - any opinions?
Jonas (My program was on Manx release disks, Yahoo! ;-) Petersson
-- Absolut Software (Hack for fun) & Indic (Hacking for money)
--
/// "Are you THE Zaphod Beeblebrox ????" # zap@indic.se
__ /// # Air Quality Surveillance
\\\/// "No, just A Zaphod Beeblebrox. # "I can feel it coming
\/// Didn't you hear - I come in sixpacks !" # in the air..."jesup@cbmvax.commodore.com (Randell Jesup) (02/18/91)
In article <1991Feb16.201228.524@indic.se> zap@indic.se (Jonas Petersson) writes: >Second question: Which is the "most civilized" way to check whether a msg >is waiting at a port or not? I currently use: > >#define WaitingMsg(port) (port->mp_MsgList.lh_Head->ln_Type==NT_MESSAGE) From the Blue RKMs (slightly modified): #define NOT_EMPTY(list) ((list)->lh_TailPred != (list)) or #define NOT_EMPTY (NULL != (list)->lh_Head->ln_Succ) and #define WaitingPort(port) (NOT_EMPTY(&(port->mp_MsgList)) The NOT_EMPTY macros work for any exec list, and with them WaitingPort becomes trivial. (I reversed the tests from the RKMs to test for not empty instead of empty.) -- Randell Jesup, Keeper of AmigaDos, Commodore Engineering. {uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com BIX: rjesup The compiler runs Like a swift-flowing river I wait in silence. (From "The Zen of Programming") ;-)