Commit Graph

14729 Commits

Author SHA1 Message Date
Andrew Johnson
547a9b3ebc Tweak some dependency rules for correctness 2014-08-05 14:03:37 -05:00
Ralph Lange
e6a883bc5f std/rec/test: explicitly register test subroutine for subroutine record (fix build on MinGW) 2014-08-05 14:29:14 +02:00
Ralph Lange
fdb21252b0 ioc/db (recGblCheckDeadband): avoid signbit() which does not exist on older MSVC installations 2014-08-05 11:20:23 +02:00
Ralph Lange
130d98463c ioc/db (recGblCheckDeadband): pull most common case to front 2014-08-05 11:17:29 +02:00
Ralph Lange
ded1f3572d ioc/db: force isnan()/isinf() to be 1 (instead of non-zero) 2014-08-05 10:42:25 +02:00
Andrew Johnson
cc656981c0 MSI testing
When testing the msi program, don't rely on EPICS_HOST_ARCH
to find the binary executable as we may be running the tests
on a cross-arch such as linux-x86-debug.
2014-08-04 15:39:02 -05:00
Michael Davidsaver
fb3314ea45 analogMonitorTest: char array too small 2014-08-04 13:43:37 -04:00
Michael Davidsaver
73a64bc89f quiet some warnings
unused variable iseq
undefined struct dbBase
2014-08-04 13:28:47 -04:00
Michael Davidsaver
96b082d3e4 fix makefile typo 2014-08-04 12:26:31 -04:00
Andrew Johnson
aedea0da37 default/osdSpin.c add missing #include "cantProceed.h"
Also adjusted some error messages for common style.
2014-08-02 23:15:43 -05:00
Andrew Johnson
b7f8f17227 blockingSockTest: Undo member renames using m_ prefix
Using the m_ prefix to denote class data members is dangerous in
code that has to compile on VxWorks 5.5 (which 3.15 does) because
the net/mbuf.h header contains the following macro definitions:

#define m_next          mBlkHdr.mNext
#define m_len           mBlkHdr.mLen
#define m_data          mBlkHdr.mData
#define m_type          mBlkHdr.mType
#define m_flags         mBlkHdr.mFlags
#define m_nextpkt       mBlkHdr.mNextPkt
#define m_act           m_nextpkt
#define m_pkthdr        mBlkPktHdr
#define m_ext           pClBlk
#define m_extBuf        m_ext->clNode.pClBuf
#define m_extFreeRtn    m_ext->pClFreeRtn
#define m_extSize       m_ext->clSize
#define m_extRefCnt     m_ext->clRefCnt
#define m_extArg1       m_ext->clFreeArg1
#define m_extArg2       m_ext->clFreeArg2
#define m_extArg3       m_ext->clFreeArg3
#define  m_copy(m, o, l)        m_copym((m), (o), (l), M_DONTWAIT)
#define  m_copym(m, o, l, w)    netMblkChainDup(_pNetDpool, (m), (o), (l), (w))
#define  m_freem(m)             netMblkClChainFree(m)
#define  m_free(m)              netMblkClFree(m)    
#define m_mbufs         mNum
#define m_drops         mDrops
#define m_wait          mWait
#define m_drain         mDrain
#define m_mtypes        mTypes

While the names in the original change all appear to be safe, I
don't want us to start using this convention because we will then
have to police commits more closely or risk build failures in the
future when someone who doesn't know about or remember the issue
can't or doesn't try building their code against VxWorks 5.5.

I don't particularly like the this-> convention to mark member
names either, but until the VxWorks 5.5 support requirement goes
away the m_ convention is worse. Another common convention of
using a leading underscore is not safe either, those names are
reserved for the C/C++ implementation.
2014-08-02 14:02:43 -05:00
Andrew Johnson
8d5cdc3747 Fix typo in macro name
Not that it really matters since only VxWorks and RTEMS actually
compile this file and they don't have shared libraries...
2014-08-02 13:13:49 -05:00
Andrew Johnson
f1a59aa64a Use epicsUInt types, stdint.h is not found on all platforms 2014-08-02 13:09:07 -05:00
Andrew Johnson
6767f5089f threadPool: Replaced errno.h status values with S_pool_* ones
ETIMEDOUT is not provided on MinGW.
2014-08-01 17:55:53 -05:00
Andrew Johnson
59a0fa9364 Fix vxWorks again, passes the tests on all my CPUs now. 2014-08-01 16:06:17 -05:00
Michael Davidsaver
5847f98f89 oops 2014-08-01 13:55:33 -04:00
Michael Davidsaver
6ed997aacc Invalid HW links no longer partially initialized 2014-08-01 11:28:10 -04:00
Michael Davidsaver
5a8915c051 INST_IO no longer accept invalid string as empty 2014-08-01 11:28:10 -04:00
Michael Davidsaver
a919d7e09d dbLink: pass DBADDR* to dbAddLink()
Now we know whether a DB or CA link is created
before calling dbAddLink().
2014-08-01 11:28:10 -04:00
Michael Davidsaver
c5da1e3f89 dbAccess: update dbPutFieldLink() to use dbParseLink()/dbSetLink()
Now returns early for invalid link strings w/o modifying the
field, or detaching device support.
2014-08-01 11:28:10 -04:00
Michael Davidsaver
33804bd7ea iocInit: initialize links in iocBuild
Done before any driver, record, or device supports run.
Also before the hooks used by autosave.
2014-08-01 11:28:10 -04:00
Michael Davidsaver
200355bc00 dbStatic: re-write dbPutString() to use new link parsing
dbPutString() now has two behaviors.  If link_type==CONSTANT
and constantStr==NULL, the link has not yet been initialized.
Just set the ->text field.

If the link has been initialized, then use dbSetLink() to
make the assignment.

Eliminate special handling for DBF_DEVICE.
2014-08-01 11:28:10 -04:00
Michael Davidsaver
480797c0e0 db/test: extend dbPutLinkTest to cover dbParseLink() 2014-08-01 11:28:10 -04:00
Michael Davidsaver
470a9f9fc9 Introduce struct dbLinkInfo and dbParseLink()
This structure holds the processed form of any link type.
It is populated by dbParseLink(), which can be called w/o
record locking.

dbCanSetLink() checks the the parsed link, and a DBLINK field
have compatible types for assignment.
Record locking is required, but this does not modify the field.

dbSetLink() makes the actual assignment.
2014-08-01 11:28:10 -04:00
Michael Davidsaver
99626f03cd dbLink: remove struct lset and dbDb_lset
unnecessary exposure of internal API
2014-08-01 11:28:10 -04:00
Michael Davidsaver
8c60e7e2cb track INP/OUT field in struct dbFldDes
avoid string comparisons
2014-08-01 11:28:10 -04:00
Ralph Lange
a5fe64a8ad dev, rec: Fix smoothing for NaN/+inf/-inf values in ai record and soft support 2014-08-01 17:20:55 +02:00
Andrew Johnson
fcd0a4c75d Fixes for VxWorks implementation. 2014-07-31 15:43:35 -05:00
Michael Davidsaver
d05f2e6062 dbPutLinkTest: check HW link parsing 2014-07-31 16:22:02 -04:00
Michael Davidsaver
e09066cfab dbPutLinkTest: check parsing of CA_LINK 2014-07-31 16:22:01 -04:00
Michael Davidsaver
40838579af iocShutdown: cleanup links 2014-07-31 16:22:01 -04:00
Michael Davidsaver
9f53417a8d add dbCaLinkInitIsolated()
Initialize dbCa workList lock so that CA_LINK
creation in test code doesn't crash.
Once created links will never connect.

clean up workList for unittest when dbCaShutdown
is called state is already exit.
2014-07-31 16:22:01 -04:00
Michael Davidsaver
29490f24c7 dbFreeLinkContents: missing case for RF_IO 2014-07-31 16:22:01 -04:00
Andrew Johnson
ab78480d54 Merged spinlockfix branch.
Some last-minute fixes for VxWorks build warnings.
2014-07-31 12:45:40 -05:00
Andrew Johnson
63d2d8de33 Merged cas-intf-addr-list branch. 2014-07-31 11:34:10 -05:00
Andrew Johnson
68bcc77885 Merged alarm-strings branch. 2014-07-31 10:17:24 -05:00
Andrew Johnson
b0a330f22a Document changes. 2014-07-30 18:03:34 -05:00
Ralph Lange
01dcbed948 ioc/db/test: add test for recGblCheckDeadband() 2014-07-30 13:36:26 +02:00
Ralph Lange
edafb56273 std/filters: make dbnd filter use recGblCheckDeadband() 2014-07-30 10:37:10 +02:00
Ralph Lange
f354f880cc std/rec: make all analog type records use new recGblCheckDeadband() 2014-07-30 10:36:24 +02:00
Ralph Lange
6f41e11804 ioc/db: add recGblCheckDeadband() to recGbl library 2014-07-30 10:35:03 +02:00
Andrew Johnson
64c45961ff configure: Fix missing dependency files
Dependency files were not being created for sources that
were only listed in x_SRCS_class variables, because the
code that added those to the x_SRCS var was running after
we had already loaded the dependency files.
2014-07-29 18:16:53 -05:00
Andrew Johnson
b3afbea7cf Merged Michael's thread-pool branch.
Made various formatting changes, and fixed one problem in the
test program which failed a test on UP machines.
2014-07-29 16:05:24 -05:00
Andrew Johnson
41502f9525 db: Remove status message from dbpf
The status returned from dbPutField() can now include errors from
the record processing such as a link alarm, so it doesn't mean
what it used to and printing the error might be wrong.
Now we just return the status value.
2014-07-29 12:46:38 -05:00
Michael Davidsaver
716f2679a7 thread pool: don't use reserved names
Avoid global symbols with leading underscore
2014-07-29 12:21:07 -04:00
Michael Davidsaver
b1a8b2f20e thread pool: switch thread counts to unsigned int
size_t is considered overly optimistic
2014-07-29 12:18:19 -04:00
Michael Davidsaver
6fee83900e don't include errCommon.h
doesn't exist anymore
2014-07-29 12:06:24 -04:00
Michael Davidsaver
6d11cba513 add missing TESTFILES 2014-07-29 10:32:47 -04:00
Ralph Lange
c8946b4fc2 std/rec: fix inf handling in select record 2014-07-29 15:19:12 +02:00
Ralph Lange
633ef60514 std/rec: fix NaN/inf bug in deadband algorithm of analog records 2014-07-29 15:16:37 +02:00