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