Commit Graph

361 Commits

Author SHA1 Message Date
Michael Davidsaver
4bd4b93649 dbCa: update comments on locking 2015-03-13 15:15:03 -04:00
Michael Davidsaver
c120027768 dbCa: fix race in scanComplete
Use a reference counter in caLink to ensure it isn't
free'd while callbacks remain in the scanOnce queue.
2015-03-13 15:15:03 -04:00
Andrew Johnson
cc3a01d460 Merged changes from 3.15 branch up to revno 12655 2015-03-11 17:20:40 -05:00
Andrew Johnson
e0f97a9215 Set testPlan in dbCaStatsTest.c 2015-03-09 18:07:13 -05:00
Andrew Johnson
61438b4e7e Fix Windows builds 2015-03-02 15:04:09 -06:00
Andrew Johnson
02a105e5ab Merged changes from 3.14 branch up to revno 12540 2015-03-02 11:43:20 -06:00
Andrew Johnson
e8c9783e06 Merged changes from 3.14 branch up to revno 12530 2015-03-02 10:35:35 -06:00
Andrew Johnson
92b4d8e48d Merged changes from 3.14 branch up to revno 12526 2015-02-27 18:11:37 -06:00
Michael Davidsaver
06beb2cafb dbCaTest: use dbCaIsLinkConnected() instead of inspecting caLink* 2015-02-20 12:14:23 -05:00
Michael Davidsaver
be06b37b42 dbPutLinkTest: don't use variadic macros
MSVC doesn't seem to support them correctly
2015-02-18 10:47:42 -05:00
Michael Davidsaver
a526d0eb04 dbPutLinkTest: attempt MSVC workaround
Apparently MSVC doesn't play well with variadic macros.
2015-02-17 16:57:20 -05:00
Andrew Johnson
cd228ccf0e Merged dbscan-update branch 2015-02-17 14:12:38 -06:00
Michael Davidsaver
bbbf05414d dbScan: rename scanOnce3 to scanOnceCallback 2015-02-17 11:31:05 -05:00
Andrew Johnson
a7ad9a1256 Merged Michael's link-parsing branch 2015-02-03 00:38:23 -06:00
Michael Davidsaver
92641e9160 dbCaStatsTest: set # of tests 2015-01-05 17:45:00 -05:00
Michael Davidsaver
368223f783 db/test: devExtend() only during pass 0 2015-01-05 17:43:45 -05:00
Michael Davidsaver
85e21863dc dbStaticLib: set pdbbase=NULL after freeing 2015-01-05 17:43:17 -05:00
Michael Davidsaver
b9b8cde5f6 dbScan: avoid mustAlloc in eventNameToHandle()
Can already return NULL for other error conditions
2015-01-05 16:26:48 -05:00
Michael Davidsaver
6d7a0327e0 dbScanTest: start with test of scanOnce3() 2015-01-05 16:26:47 -05:00
Michael Davidsaver
d897c9b686 dbCa: use scanOnce3() to prevent once queue overflow
Prevent CP links to high rate records from
overflowing the once queue.
2015-01-05 16:26:47 -05:00
Michael Davidsaver
ff14d811a7 dbCaPvt.h: normalize indentation 2015-01-05 16:26:47 -05:00
Michael Davidsaver
2ba2b90b06 dbScan: add scanOnce3() w/ completion callback 2015-01-05 16:26:47 -05:00
Michael Davidsaver
7d50f62aed dbScan: allow direct scan of I/O Intr list
add scanIoImmediate() to allow drivers to implement
I/O Intr scanning without the overhead of maintaining
their own scan lists.
2015-01-05 16:26:47 -05:00
Michael Davidsaver
4518e8fa7f dbLink: re-intorduce struct lset and dbDb_lset"
without initLink, addLink, and loadLink
2014-12-29 18:16:26 -05:00
Andrew Johnson
e06b0a87b2 Merged changes from upstream 2014-12-23 12:21:37 -06:00
Andrew Johnson
8705a42a39 Merged fixes from 3.14 branch.
Added new link_field_name() function to dbLink.c, needed to
be able to print the link field name.
2014-12-23 12:01:35 -06:00
Andrew Johnson
36850cf677 Remove trailing ; from dbGetSevr macro 2014-12-11 13:56:15 -06:00
Andrew Johnson
5b6dce2681 Fix Windows builds
The windows shell doesn't like commands that start ../
Those commands are all found using TOOLS, so by making that
an absolute path we fix that problem.
However GNUmake doesn't recognize targets with relative paths
as being the same as their absolute path, so we have to fix up
some places that were using TOOLS in dependencies.
2014-12-10 17:40:40 -06:00
Andrew Johnson
d1481b23d9 Use msi for dependency rules generation
Added -D command, modified RULES.Db to use it.
2014-12-10 12:09:34 -06:00
Andrew Johnson
0f23784b32 Tweak to callback API. 2014-12-02 11:30:37 -06:00
Andrew Johnson
bdc57ecb2b Build issues for MinWG 2014-11-19 13:16:56 -06:00
Andrew Johnson
fd3bf215c5 Added missing tests to epicsRunDbTests.c 2014-11-19 10:22:39 -06:00
Ralph Lange
ba922d2bfa ioc/db: fix segfault in dbcaStats when disconnected CA links are present 2014-11-19 15:11:36 +01:00
Ralph Lange
cd8e08651b ioc/db/test: add a test for dbcaStats (detects bug lp:1394212) 2014-11-19 15:08:48 +01:00
Andrew Johnson
adc6219c2a scanIoTest: Extend time for callback threads to run.
Needed for VxWorks 5.5.2 on 68K
2014-11-18 18:10:19 -06:00
Andrew Johnson
01c0275876 Build stability fixes
Change menuGlobal.dbd and stdRecords.dbd to be generated
as a list of unexpanded include statements, not expanded
out as they have been recently on this branch. This means
any .dbd.pod files in those lists don't have to have been
filtered to remove the POD statements which significantly
simplifies the dependency graph. I had experienced build
loops at times, which this change should prevent.
2014-11-18 14:01:46 -06:00
Michael Davidsaver
d7269f9d80 Revert "dbBkpt: atexit" 2014-11-18 14:56:45 -05:00
Michael Davidsaver
e4954ba26a dbLock: remove dbLockExit()
No benefit to freeing global locks in unittests,
and this could cause problems with normal IOC
shutdown.
2014-11-18 14:48:15 -05:00
Andrew Johnson
60a5c476b3 Fix single-element array problem
An array field with a maximum size of 1 element would not be
treated as an array, so the record's rset::get_array_info()
routine wasn't being called. Fixed in dbAccess for both
dbGet() and dbPut() operations, and in dbEvent for monitors.

Fixes lp:1389298
2014-11-18 11:10:01 -06:00
Michael Davidsaver
93149071b7 dbNotify: shutdown with exitDatabase
Can't cleanup dbNotify while rsrv or scan tasks
are running as there may be operations in progress.
2014-11-18 11:25:15 -05:00
Michael Davidsaver
9c2a62ea96 dbChannel: shutdown from exitDatabase()
Can't cleanup dbChannel while rsrv or scan tasks
remain running.
2014-11-18 11:25:15 -05:00
Michael Davidsaver
d35780888a iocInit: only teardown from iocBuildIsolated()
iocShutdown() should only stop threads and cleanup
if the IOC was started with iocBuildIsolated().
If iocBuild() is used then only close CA links
as was done previously.

This is needed as some device support calls epicsExit()
(while holding a record lock).  This make it impossible
to run the full iocShutdown without deadlocking
in scan/callback shutdown, or segfaulting
in doFreeRecord() or dbLockCleanupRecords()
2014-11-13 11:58:35 -05:00
Andrew Johnson
f7cc0e2d09 Various build system issues
* Removed broken Windows source browser rules and 'browse' targets
* Fixed parallel build issue for Make > 3.81
* Other tidying-up in RULES_ARCHS
* Fix the RTEMS override of the ECHO variable
2014-11-12 16:36:39 -06:00
Andrew Johnson
69daab81d5 Fix tests after menuScan changes 2014-11-10 17:27:38 -06:00
Andrew Johnson
3aa5d2adee ioc/db menu fixes
* Move including menuScan.dbd from menuGlobal.dbd to base.dbd.
  Menus included in menuGlobal.dbd can't be overridden at build
  time since it gets fully expanded before installation.
* Convert .dbd.pod files before generating menuGlobal.dbd.d
* Remove menuCompress.dbd, nothing in Base uses it any more.
  The compress record has its own compressALG menu
2014-11-10 16:15:52 -06:00
Andrew Johnson
64bf84169c dbStatic: Added hook routine for dbLoadRecords()
Requested by Tim Mooney for use by Autosave.
See the Release Notes for documentation.

This commit also corrects the decorations for recGblAlarmHook.
2014-10-31 16:18:25 -05:00
Andrew Johnson
b74eb61949 Merged dbca-test branch 2014-10-06 18:04:33 -05:00
Andrew Johnson
f0193d27f3 Clean up warning from clang/MacOS 2014-10-06 18:03:00 -05:00
Andrew Johnson
7b23f50f9d Fix Windows builds.
db_access.h defines things in the CA library, not db...
2014-10-06 16:31:28 -05:00
Andrew Johnson
9cebc2993b Fix epicsExportSharedSymbols for MinGW build
Include files now in sorted order within each block.
2014-10-06 00:57:02 -05:00