Commit Graph

68 Commits

Author SHA1 Message Date
Marty Kraimer
6d3ef2f5b6 use & instead of * in misc.
Simplify lock.h
2011-02-18 08:17:17 -05:00
Matej Sekoranja
b0c04eea53 Status changes 2011-02-17 01:21:16 +01:00
Michael Davidsaver
bb6cf7c00b avoid method resolution problem from diamond inheritance
Serializable -> SerializableArray
Serializable -> PVField
SerializableArray -> PVArray
PVField -> PVArray

Thus for PVArray the members of SerializeSerializable are reachable
by two paths.  This means that The vtable for PVArray has two seperate
entries for serialize.

Correct resolution is to use virtual inheritance to avoid the
ambiguity.
2011-02-15 11:39:38 -05:00
Michael Davidsaver
afa17f8f4f CDRMonitor: print to streams 2011-02-09 21:07:52 -05:00
Michael Davidsaver
89f5e27577 not everything is boolean
Use correct calls to (de)serialize POD types
2011-02-09 21:07:52 -05:00
Michael Davidsaver
72b5354cb5 CDRMonitor: NDEBUG 2011-02-08 13:28:02 -05:00
Michael Davidsaver
7d3e58fcc9 CDRMonitor: lazy node creation 2011-02-08 13:28:02 -05:00
Michael Davidsaver
29bbaa60f6 Merge remote branch 'origin/master'
* origin/master:
  change #ifndef name
  static init. problem removed
2011-02-04 16:29:30 -05:00
Michael Davidsaver
624dff139d executor: revise run and shutdown
Instead of a flag use a special marker Command inserted into
the queue.
2011-02-04 16:22:15 -05:00
Michael Davidsaver
6a5e908509 timer: avoid unnecessary allocations
Rename *Pvt types to *::Pvt
2011-02-04 16:22:15 -05:00
Michael Davidsaver
2a4f614b7a thread: avoid unnecessary allocations
Use auto_ptr<> for pImpl

Eliminate redundant ThreadListElement class.  It just contains
a Thread* and a ThreadListNode which contains itself?

Make thread main function a static class function to avoid
problems with accessing private members of ThreadPvt.
In this context "private" means used by the implementation
class only.
2011-02-04 16:22:15 -05:00
Michael Davidsaver
07487c1a7b lock: unique_lock not unlocking
oops
2011-02-04 16:22:15 -05:00
Marty Kraimer
71cc5e625d change #ifndef name 2011-02-03 09:16:11 -05:00
Matej Sekoranja
e6c521bfb9 static init. problem removed 2011-02-02 20:34:56 +01:00
Michael Davidsaver
a67a9a5eaa Merge
update test baselines
  rename showConstructDestruct.h to CDRMonitor.h
  undercounting field
  switch tests to CDRMonitor
  switch remaining to use REFCOUNT macros
  Use epicsThreadOnce for safe lazy initialization
  replace ShowConstructDestruct with simpler CDRMonitor
  executor: remove redundant allocations
  lock: Partial implementation of Boost lock templates

Conflicts:
	pvDataApp/misc/StatusCreateFactory.cpp
	pvDataApp/misc/bitSet.cpp
2011-02-02 11:16:03 -05:00
Matej Sekoranja
43bbae6658 static creation fixed 2011-02-02 16:22:22 +01:00
Michael Davidsaver
8adb8b7766 rename showConstructDestruct.h to CDRMonitor.h 2011-02-02 10:11:07 -05:00
Michael Davidsaver
4a65bf9342 switch remaining to use REFCOUNT macros 2011-02-02 10:11:07 -05:00
Michael Davidsaver
099215986f Use epicsThreadOnce for safe lazy initialization
Also use epicsAtExit to handle cleanup.
2011-02-02 10:11:07 -05:00
Michael Davidsaver
d8fe325dc0 replace ShowConstructDestruct with simpler CDRMonitor
Hold counters internally instead of exposing (and duplicating)
counting code in other compile units

Remove deleteFunc list.  This should be handled by another mechanism.
CDRMonitor is debugging code.

Use internal singly linked list to avoid special handling of
LinkedList.
2011-02-02 10:11:07 -05:00
Michael Davidsaver
302d3fe5d2 executor: remove redundant allocations 2011-02-02 09:14:46 -05:00
Michael Davidsaver
b4c48449a8 lock: Partial implementation of Boost lock templates
lock_guard - simple RAII for a mutex

unique_lock - Also allows release/re-acquire after
construction while ensuring that the mutex is
unlocked when the object is destructed.
2011-02-02 09:14:46 -05:00
Matej Sekoranja
698f4911ba BaseException fix and cleanup. 2011-01-28 19:50:05 +01:00
Marty Kraimer
ad9633c8f6 moved pvType.h from misc to pv.
Made changes to make it clear that is defining the pvData primitive types for pvData.
2011-01-28 08:22:46 -05:00
Marty Kraimer
d79a24208e added include to status.h 2011-01-21 10:04:51 -05:00
Matej Sekoranja
12b7a51ea7 bitSet serialization 2011-01-16 23:50:56 +01:00
Matej Sekoranja
fb664aa4bd fixed macro 2011-01-13 00:52:30 +01:00
Marty Kraimer
608d74c400 Fix many memory leaks 2011-01-12 10:28:00 -05:00
Matej Sekoranja
571405d6b2 fixed wrong delete 2011-01-03 12:47:22 +01:00
Matej Sekoranja
7d9b5ce725 added convenience macros 2011-01-02 10:47:08 +01:00
Matej Sekoranja
3f9852bd58 random access byteBuffer 2011-01-01 21:25:23 +01:00
Matej Sekoranja
8f8502f6e0 fixed SerializeHelper include and delete 2010-12-27 11:33:34 +01:00
Matej Sekoranja
9cbd953c34 ByteBuffer.setPosition(int) added 2010-12-27 10:30:59 +01:00
Matej Sekoranja
20945f7802 moved StatusTypeNames to .cpp 2010-12-27 10:01:28 +01:00
Matej Sekoranja
6a91bddf15 Convenience toString() method added. 2010-12-22 12:57:32 +01:00
Matej Sekoranja
e06ff2b898 Destruction of status. 2010-12-20 19:47:36 +01:00
Matej Sekoranja
f522fe8e07 StatusCreateFactory moved to misc, bitSet ref. counting added, minor Status mods 2010-12-20 16:17:48 +01:00
Matej Sekoranja
e4ea15aff3 Status factory added. 2010-12-19 21:17:59 +01:00
Matej Sekoranja
1f7c6f5520 Moved status and monitor out of pvAccessCPP; interfaces only. 2010-12-19 13:28:30 +01:00
Marty Kraimer
188c256dda documentation more complete 2010-12-13 13:12:43 -05:00
Marty Kraimer
3c060afedb continuation of last commit 2010-12-08 07:10:01 -05:00
Marty Kraimer
381c6de7e9 change build so that only one library pvData gets built 2010-12-08 07:08:42 -05:00
Marty Kraimer
3b90f6b719 property and propertyTest now ready. doc not updated 2010-12-07 14:21:15 -05:00
Marty Kraimer
e82101b9c6 Implemented Queue. 2010-12-03 15:40:02 -05:00
Marty Kraimer
358923d064 started on documentation and changes to misc as a result 2010-12-02 15:28:09 -05:00
Marty Kraimer
9db054cc54 timer and timeStamp added to misc. copyright and license info added 2010-11-23 07:30:13 -05:00
Marty Kraimer
28aad96b34 redid showConstructDestruct 2010-11-17 15:28:18 -05:00
Marty Kraimer
6e90ae7f12 added event thread executor timeFunction showConstructDestruct timeStamp 2010-11-17 11:14:38 -05:00
Marty Kraimer
5b4c642b5b fix dependencies between include files 2010-11-09 14:38:34 -05:00
Marty Kraimer
5a7438e028 added linkedList and test for linkedList 2010-11-09 14:23:30 -05:00