Hello,
I'm having more problems with the data acquisition software I'm
developing. This time I have no idea where the error I'm getting is
coming from.
The idea is this - there are 12 DAQ cards in the system, each able to
support 4 channels. There are 12 action buttons which enable the
operator to switch between the DAQ cards and one XY Graph that
displays the waveforms from all 4 channels for each card. The contents
of the graph is controlled by a $(cardno) macro, which is changed
whenever the action button is pressed. To be more precise, another
panel is loaded with a different value of $(cardno) and it replaces
the previous one.
It is possible to switch between the cards without any problems until
data starts coming. I wrote my own device support for the cards using
the waveform record. Data is sent over TCP/IP and once a full sample
set is received a scanIoRequest function is called which, in turns,
calls the read_waveform function where I fill the buffer with valid data.
As I said, once the data starts coming, switching from one card to
another causes this error to appear:
A call to 'assert(status == epicsMutexLockOK)'
by thread 'CAS-client' failed in ../dbEvent.c line 460.
EPICS Release EPICS R3.14.11 $R3-14-11$ $2009/08/28 18:47:36$.
Local time is 2010-10-25 16:11:12.177758908 CEST
Please E-mail this message to the author or to [email protected]
Calling epicsThreadSuspendSelf()
A call to 'assert(status == epicsMutexLockOK)'
by thread 'CAS-client' failed in ../dbEvent.c line 442.
EPICS Release EPICS R3.14.11 $R3-14-11$ $2009/08/28 18:47:36$.
Local time is 2010-10-25 16:11:12.457952837 CEST
Please E-mail this message to the author or to [email protected]
Calling epicsThreadSuspendSelf()
Thread CAS-client (0x82eb670) suspended
Thread CAS-client (0x8308220) suspended
I looked in dbEvent.c but couldn't find anything that would have
anything to do with my problem. Does anyone have any ideas what could
be wrong? What could hold the mutex and what is the mutex really
guarding here?
Kind Regards,
Pawel Predki