Commit Graph

11014 Commits

Author SHA1 Message Date
Andrew Johnson 88864e949b Merge changes from 3.14 branch, to revno 12599 2015-08-20 11:14:01 -05:00
Andrew Johnson fe4f607e63 libCom/errlog: Don't store stderr in pvtData.console
Some VxWorks BSPs close the stderr stream that the shell running
the startup script created and open a new one for the interactive
shell. This change makes pvtData.console==NULL mean use stderr
instead of storing the stderr value in pvtData.console at init.
2015-08-13 10:44:52 -05:00
Andrew Johnson 9e82a96700 dbTest: Remove special ENUM handling from dbpf()
This was preventing the value check in cvt_st_menu() from working.
2015-08-10 15:04:11 -05:00
Andrew Johnson ef7399159c dbAccess: Make dbPut() always do special processing after put
If the value gets rejected by a put to SCAN, we must still call
dbPutSpecial() to add the record back onto its old scan thread.
2015-08-10 15:03:48 -05:00
Andrew Johnson d7b3293ba3 libCom: Use MSVC's struct timespec when available 2015-08-07 09:41:48 -05:00
Andrew Johnson 9014ca899d dbStatic: Fix invalid memory read 2015-07-30 11:57:50 -05:00
Andrew Johnson c5130468cd Let dbdToHtml work with wrong newlines 2015-07-24 10:42:09 -05:00
Andrew Johnson 7dd067e887 Merged dbCa bug-fix from 3.14 branch, revno 12595 2015-07-23 18:02:54 -05:00
Andrew Johnson c56091978c db: Fixed obscure dbCa bug
This could be triggered if dbCaRemoveLink() is called on a link for
which there is an outstanding dbCaPutCallback().

Normally a dbCaPutCallback() callback routine is passed the associated
userPvt pointer as an argument, but in the event that dbCaRemoveLink()
gets used on the same link between the put and its completion callback,
the callback routine was being called with the link pointer as the
argument instead.

For all the existing Asyn Soft Channel device supports this is not a
problem as they all pass the link pointer as their userPvt argument, but
that won't necessarily always be the case.

Also updated the comments describing the process of removing links.
2015-07-23 17:57:30 -05:00
Andrew Johnson 2f8e6bf17e Fix smoothing for Nan/Inf values in devAiSoftCallback 2015-07-23 13:05:38 -05:00
Andrew Johnson 144281e0a3 Removed extraneous .db file 2015-07-23 12:34:05 -05:00
Andrew Johnson 83c2414ad0 Merged changes from 3.14 branch to revno 12594 2015-07-23 10:13:07 -05:00
Michael Davidsaver 504665bf09 iocInit: move dbCaShutdown earlier
Switch dbCaShutdown from an exit hook to
be called from iocShutdown.  Place it
after callback shutdown.
2015-07-21 19:08:07 -04:00
Michael Davidsaver 1411522a11 dbCa: only add dbCaExit once 2015-07-21 15:53:37 -04:00
Andrew Johnson ae3d3904d9 Fix minor locking issue in dbEvent.c 2015-07-17 18:09:14 -05:00
Andrew Johnson 002bafdf07 Add testHarnessDone 2015-07-17 18:06:58 -05:00
Michael Davidsaver 8bfa40d858 dbScan: avoid race on shutdown 2015-07-16 17:05:41 -04:00
Michael Davidsaver 138e2f1ad5 callback: fix race on shutdown
epicsEventDestory() in the main thread could be called
before epicsEventTrigger() completes in the worker.
2015-07-16 17:05:41 -04:00
Michael Davidsaver fefe6fd1fc Fix shutdown issues with scan and callback.
The main reason for this merge proposal is the change to "public" API functions.

Use atomic counter to resolve data race on threadsRunning in callback.

Split up callbackShutdown() and scanShutdown() into two phases *Stop() and
*Cleanup(). The *Stop() functions signal worker threads, and wait for them to
exit. The *Cleanup() functions actually reclaim global resources.

These two mechanisms have couplings which are quite complex. I/O Intr scans
involve both scan lists and callbacks.
2015-07-16 11:48:29 -05:00
Andrew Johnson 5eb49ebaf0 Merged changes from 3.14 branch to revno 12590 2015-07-13 13:05:33 -05:00
Andrew Johnson 625172419e libCom: Make epicsReadline behave the same on Darwin 2015-07-01 12:00:42 -05:00
Andrew Johnson 444b89f557 libCom: Make readline support clean up on epicsExit() 2015-06-30 14:08:32 -05:00
Andrew Johnson fa1ddeeb1b Removed the last vestiges of RSET::get_value() 2015-06-23 18:04:33 -05:00
Andrew Johnson ca46bf70b7 Fixes to attribute handling in dbStaticLib
From Peter Leban of i-tech (Libera)
2015-06-23 17:06:54 -05:00
Andrew Johnson c0e2a44365 Register dbPutAttribute with iocsh 2015-06-23 17:04:37 -05:00
Andrew Johnson 84c3ec7c64 db: Correct DBF_CHAR range in recGbl.c
Seems invisible, but spotted by Lawrence T. Prevatte III.
2015-06-23 15:51:00 -05:00
Andrew Johnson 65e781d58a db: Fix off-by-one error in initHookName()
Thanks to Lawrence T. Prevatte III for noticing that.
2015-06-23 14:46:29 -05:00
Andrew Johnson a613a96ad3 libCom: Fix routine name in error message 2015-06-18 10:56:43 -05:00
Ralph Lange fbd2d4dd31 dbStatic: fix buffer overrun in printing functions by extending the local buffer accordingly 2015-06-05 11:10:10 +02:00
Andrew Johnson 2c28d4b69e Merged Lewis Muir's CAref ToC update
Also added some entries for a couple of missing ca_sg routines.
2015-05-15 10:41:19 -05:00
J. Lewis Muir 5d61a512d1 doc: add ca_put_callback to CA ref man func call interface index
The ca_put_callback function is not listed in the CA Reference Manual's
function call interface index; add it.
2015-05-14 16:23:23 -05:00
Andrew Johnson 2f6fad0cc3 Fixing and/or investigating Cygwin issues 2015-05-01 11:38:54 -05:00
Andrew Johnson f384232864 Merged Cygwin fix from 3.14 branch, revno 12584 2015-04-29 14:21:40 -05:00
Andrew Johnson 33b9fba00b Fix for latest Cygwin 2015-04-29 14:01:07 -05:00
Andrew Johnson 2774b4c4af Fix type problem with local CA channels
This commit fixes a problem introduced in Bazaar commit 12658.
Local CA channels were seeing the data type of a channel as an
IOC-specific (dbFldTypes.h) type value instead of the CA type
value from db_access.h.

We introduce a pair of dbChannel*CAType() macros which convert
the dbChannel's dbr_field_type and final_type values into the
CA equivalent type values, and use these macros whenever the
CA encoded field type value is needed. This ensures that the
meaning of the dbChannel member fields never changes (in 3.14
the addr.dbr_field_type was overwritten with the converted
value when connected to by rsrv).
2015-04-22 16:51:31 -05:00
Ralph Lange bcf47ac663 gdd: fix 64 bit warnings using explicit casts for strlen() results 2015-04-16 14:05:33 +02:00
Andrew Johnson 874087f454 Update some version numbers in documentation 2015-04-14 17:58:33 -05:00
Andrew Johnson a6d3c4f792 Document -D option to msi 2015-04-14 17:57:10 -05:00
Andrew Johnson 76205e5c58 Add podRemove.pl script
Use this to generate .dbd files from .dbd.pod files
so installed *Record.dbd files don't have the
dbdCommon.dbd file expanded out.

Fixes lp:1417428
2015-04-13 10:36:13 -05:00
Ralph Lange 09fab352b0 dbstatic: raise link field length limit to 256 by bumping internal buffer size 2015-04-13 17:13:09 +02:00
Andrew Johnson 2a0356c84f Merged fix to ReadNotifyCache buffer size issue from 3.14 branch 2015-04-09 15:53:16 -05:00
Michael Davidsaver b082e7d1e8 dbContextReadNotify: Improper handling of array size changes
Issue diagnosed and reported by Ambroz Bizjak.

The dbContextReadNotifyCacheAllocator allocator clears
its cache of free buffers on an array size change.
But doesn't consider buffer already in use, which
will later be free'd.  Such buffers were being
returned to the cache, then reused in allocations
for which they are too short.

Track the size of buffers which are in use.
Only return buffers with the present length
to the cache.  Others are free'd immediately.
2015-04-09 14:39:24 -04:00
Andrew Johnson ffcbd4ca8b Merge changes from 3.14.12.5 (revno 12582) 2015-03-25 12:53:13 -05:00
Andrew Johnson 9470830091 catools: Fix printing -ve DBF_LONG values on 64-bit 2015-03-23 15:59:11 -05:00
Andrew Johnson f498b36438 Prevent overflows in ao value conversion.
Also makes ROFF fields unsigned, needed for ROFF=0x80000000
2015-03-20 16:34:14 -05:00
Andrew Johnson 490540b005 Merged from 3.14 branch up to revno 12575 2015-03-19 10:22:15 -05:00
Andrew Johnson eaef9aabdf Fix export type of .LINK$ fields, add tests 2015-03-18 16:48:07 -05:00
Andrew Johnson 1fd91f52e2 dbStatic: Add field type lookup routines 2015-03-18 16:34:07 -05:00
Andrew Johnson f994944531 libCom/posix: Remove pthread_setcanceltype() 2015-03-18 11:36:06 -05:00
Andrew Johnson e1b2a0c5a3 Merged changes from 3.14 branch up to revno 12573 2015-03-13 11:50:26 -05:00