pvxslibs 1.4.0a3__tar.gz → 1.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pvxslibs might be problematic. Click here for more details.

Files changed (255) hide show
  1. {pvxslibs-1.4.0a3/python/pvxslibs.egg-info → pvxslibs-1.4.1}/PKG-INFO +1 -1
  2. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/configure/CONFIG_PVXS_VERSION +3 -2
  3. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/pvalink.cpp +1 -1
  4. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/pyproject.toml +1 -1
  5. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1/python/pvxslibs.egg-info}/PKG-INFO +1 -1
  6. pvxslibs-1.4.1/python/pvxslibs.egg-info/requires.txt +2 -0
  7. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/setup.py +1 -1
  8. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/client.cpp +6 -2
  9. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/clientdiscover.cpp +3 -3
  10. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/clientget.cpp +8 -5
  11. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/clientimpl.h +3 -2
  12. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/clientintrospect.cpp +5 -3
  13. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/clientmon.cpp +5 -7
  14. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/evhelper.cpp +1 -0
  15. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/client.h +4 -1
  16. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/srvcommon.h +2 -2
  17. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/server.cpp +3 -2
  18. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/serverget.cpp +7 -6
  19. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/servermon.cpp +14 -5
  20. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/util.cpp +4 -3
  21. pvxslibs-1.4.0a3/python/pvxslibs.egg-info/requires.txt +0 -2
  22. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/COPYRIGHT +0 -0
  23. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/LICENSE +0 -0
  24. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/MANIFEST.in +0 -0
  25. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/README.md +0 -0
  26. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/LICENSE +0 -0
  27. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/arc4random.c +0 -0
  28. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/buffer.c +0 -0
  29. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/buffer_iocp.c +0 -0
  30. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/bufferevent-internal.h +0 -0
  31. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/bufferevent.c +0 -0
  32. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/bufferevent_async.c +0 -0
  33. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/bufferevent_filter.c +0 -0
  34. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/bufferevent_mbedtls.c +0 -0
  35. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/bufferevent_openssl.c +0 -0
  36. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/bufferevent_pair.c +0 -0
  37. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/bufferevent_ratelim.c +0 -0
  38. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/bufferevent_sock.c +0 -0
  39. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/bufferevent_ssl.c +0 -0
  40. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/changelist-internal.h +0 -0
  41. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/cmake/VersionViaGit.cmake +0 -0
  42. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/compat/sys/queue.h +0 -0
  43. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/defer-internal.h +0 -0
  44. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/devpoll.c +0 -0
  45. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/epoll.c +0 -0
  46. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/epoll_sub.c +0 -0
  47. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/epolltable-internal.h +0 -0
  48. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evbuffer-internal.h +0 -0
  49. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evconfig-private.h.cmake +0 -0
  50. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evdns.c +0 -0
  51. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/event-config.h.cmake +0 -0
  52. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/event-internal.h +0 -0
  53. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/event.c +0 -0
  54. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/event_iocp.c +0 -0
  55. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/event_tagging.c +0 -0
  56. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evmap-internal.h +0 -0
  57. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evmap.c +0 -0
  58. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evport.c +0 -0
  59. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evrpc-internal.h +0 -0
  60. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evrpc.c +0 -0
  61. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evsignal-internal.h +0 -0
  62. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evthread-internal.h +0 -0
  63. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evthread.c +0 -0
  64. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evthread_pthread.c +0 -0
  65. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evthread_win32.c +0 -0
  66. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evutil.c +0 -0
  67. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evutil_rand.c +0 -0
  68. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/evutil_time.c +0 -0
  69. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/ht-internal.h +0 -0
  70. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/http-internal.h +0 -0
  71. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/http.c +0 -0
  72. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/evdns.h +0 -0
  73. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event.h +0 -0
  74. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/buffer.h +0 -0
  75. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/buffer_compat.h +0 -0
  76. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/bufferevent.h +0 -0
  77. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/bufferevent_compat.h +0 -0
  78. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/bufferevent_ssl.h +0 -0
  79. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/bufferevent_struct.h +0 -0
  80. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/dns.h +0 -0
  81. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/dns_compat.h +0 -0
  82. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/dns_struct.h +0 -0
  83. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/event.h +0 -0
  84. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/event_compat.h +0 -0
  85. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/event_struct.h +0 -0
  86. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/http.h +0 -0
  87. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/http_compat.h +0 -0
  88. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/http_struct.h +0 -0
  89. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/keyvalq_struct.h +0 -0
  90. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/listener.h +0 -0
  91. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/rpc.h +0 -0
  92. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/rpc_compat.h +0 -0
  93. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/rpc_struct.h +0 -0
  94. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/tag.h +0 -0
  95. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/tag_compat.h +0 -0
  96. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/thread.h +0 -0
  97. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/util.h +0 -0
  98. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/visibility.h +0 -0
  99. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/watch.h +0 -0
  100. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/event2/ws.h +0 -0
  101. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/evhttp.h +0 -0
  102. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/evrpc.h +0 -0
  103. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/include/evutil.h +0 -0
  104. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/iocp-internal.h +0 -0
  105. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/ipv6-internal.h +0 -0
  106. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/kqueue-internal.h +0 -0
  107. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/kqueue.c +0 -0
  108. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/listener.c +0 -0
  109. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/log-internal.h +0 -0
  110. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/log.c +0 -0
  111. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/mbedtls-compat.h +0 -0
  112. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/minheap-internal.h +0 -0
  113. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/mm-internal.h +0 -0
  114. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/openssl-compat.h +0 -0
  115. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/poll.c +0 -0
  116. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/ratelim-internal.h +0 -0
  117. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/select.c +0 -0
  118. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/sha1.c +0 -0
  119. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/sha1.h +0 -0
  120. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/signal.c +0 -0
  121. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/signalfd.c +0 -0
  122. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/ssl-compat.h +0 -0
  123. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/strlcpy-internal.h +0 -0
  124. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/strlcpy.c +0 -0
  125. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/time-internal.h +0 -0
  126. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/util-internal.h +0 -0
  127. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/watch.c +0 -0
  128. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/wepoll.c +0 -0
  129. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/wepoll.h +0 -0
  130. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/win32select.c +0 -0
  131. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/bundle/libevent/ws.c +0 -0
  132. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/channel.cpp +0 -0
  133. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/channel.h +0 -0
  134. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/credentials.cpp +0 -0
  135. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/credentials.h +0 -0
  136. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/dbentry.h +0 -0
  137. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/dberrormessage.cpp +0 -0
  138. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/dberrormessage.h +0 -0
  139. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/dbeventcontextdeleter.h +0 -0
  140. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/dblocker.h +0 -0
  141. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/dbmanylocker.h +0 -0
  142. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/demo.cpp +0 -0
  143. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/dummygroup.cpp +0 -0
  144. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/dummysingle.cpp +0 -0
  145. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/field.cpp +0 -0
  146. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/field.h +0 -0
  147. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/fieldconfig.h +0 -0
  148. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/fielddefinition.cpp +0 -0
  149. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/fielddefinition.h +0 -0
  150. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/fieldname.cpp +0 -0
  151. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/fieldname.h +0 -0
  152. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/fieldnamecomponent.h +0 -0
  153. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/fieldsubscriptionctx.cpp +0 -0
  154. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/fieldsubscriptionctx.h +0 -0
  155. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/group.cpp +0 -0
  156. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/group.h +0 -0
  157. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/groupconfig.h +0 -0
  158. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/groupconfigprocessor.cpp +0 -0
  159. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/groupconfigprocessor.h +0 -0
  160. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/groupdefinition.h +0 -0
  161. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/groupprocessorcontext.cpp +0 -0
  162. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/groupprocessorcontext.h +0 -0
  163. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/groupsource.cpp +0 -0
  164. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/groupsource.h +0 -0
  165. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/groupsourcehooks.cpp +0 -0
  166. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/groupsrcsubscriptionctx.h +0 -0
  167. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/imagedemo.c +0 -0
  168. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/iochooks.cpp +0 -0
  169. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/iocshargument.h +0 -0
  170. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/iocshcommand.h +0 -0
  171. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/iocshindex.h +0 -0
  172. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/iocsource.cpp +0 -0
  173. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/iocsource.h +0 -0
  174. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/localfieldlog.cpp +0 -0
  175. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/localfieldlog.h +0 -0
  176. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/pvalink.h +0 -0
  177. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/pvalink_channel.cpp +0 -0
  178. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/pvalink_jlif.cpp +0 -0
  179. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/pvalink_link.cpp +0 -0
  180. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/pvalink_lset.cpp +0 -0
  181. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/pvxs/iochooks.h +0 -0
  182. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/pvxs3x.dbd +0 -0
  183. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/pvxs7x.dbd +0 -0
  184. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/qsrvpvt.h +0 -0
  185. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/securityclient.cpp +0 -0
  186. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/securityclient.h +0 -0
  187. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/securitylogger.h +0 -0
  188. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/singlesource.cpp +0 -0
  189. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/singlesource.h +0 -0
  190. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/singlesourcehooks.cpp +0 -0
  191. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/singlesrcsubscriptionctx.cpp +0 -0
  192. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/singlesrcsubscriptionctx.h +0 -0
  193. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/subscriptionctx.h +0 -0
  194. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/typeutils.cpp +0 -0
  195. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/typeutils.h +0 -0
  196. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/ioc/yajlcallbackhandler.h +0 -0
  197. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs/__init__.py +0 -0
  198. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs/ioc.py +0 -0
  199. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs/lib/__init__.py +0 -0
  200. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs/path.py +0 -0
  201. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs/test/__init__.py +0 -0
  202. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs/test/test_load.py +0 -0
  203. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs/version.py +0 -0
  204. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs.egg-info/SOURCES.txt +0 -0
  205. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs.egg-info/dependency_links.txt +0 -0
  206. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs.egg-info/not-zip-safe +0 -0
  207. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/python/pvxslibs.egg-info/top_level.txt +0 -0
  208. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/setup.cfg +0 -0
  209. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/bitmask.cpp +0 -0
  210. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/bitmask.h +0 -0
  211. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/clientconn.cpp +0 -0
  212. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/clientreq.cpp +0 -0
  213. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/config.cpp +0 -0
  214. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/conn.cpp +0 -0
  215. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/conn.h +0 -0
  216. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/data.cpp +0 -0
  217. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/dataencode.cpp +0 -0
  218. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/datafmt.cpp +0 -0
  219. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/dataimpl.h +0 -0
  220. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/describe.cpp +0 -0
  221. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/describe.h@ +0 -0
  222. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/evhelper.h +0 -0
  223. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/log.cpp +0 -0
  224. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/nt.cpp +0 -0
  225. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/os/WIN32/osdSockExt.cpp +0 -0
  226. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/os/default/osdSockExt.cpp +0 -0
  227. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/osgroups.cpp +0 -0
  228. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/osiSockExt.h +0 -0
  229. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvaproto.h +0 -0
  230. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvrequest.cpp +0 -0
  231. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvrequest.h +0 -0
  232. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/data.h +0 -0
  233. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/log.h +0 -0
  234. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/netcommon.h +0 -0
  235. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/nt.h +0 -0
  236. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/server.h +0 -0
  237. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/sharedArray.h +0 -0
  238. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/sharedpv.h +0 -0
  239. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/source.h +0 -0
  240. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/unittest.h +0 -0
  241. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/util.h +0 -0
  242. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/version.h +0 -0
  243. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/pvxs/versionNum.h@ +0 -0
  244. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/serverchan.cpp +0 -0
  245. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/serverconn.cpp +0 -0
  246. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/serverconn.h +0 -0
  247. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/serverintrospect.cpp +0 -0
  248. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/serversource.cpp +0 -0
  249. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/sharedarray.cpp +0 -0
  250. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/sharedpv.cpp +0 -0
  251. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/type.cpp +0 -0
  252. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/udp_collector.cpp +0 -0
  253. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/udp_collector.h +0 -0
  254. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/unittest.cpp +0 -0
  255. {pvxslibs-1.4.0a3 → pvxslibs-1.4.1}/src/utilpvt.h +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pvxslibs
3
- Version: 1.4.0a3
3
+ Version: 1.4.1
4
4
  Summary: PVXS libraries packaged for python
5
5
  Home-page: https://epics-base.github.io/pvxs
6
6
  Author: Michael Davidsaver
@@ -1,6 +1,6 @@
1
1
  PVXS_MAJOR_VERSION = 1
2
2
  PVXS_MINOR_VERSION = 4
3
- PVXS_MAINTENANCE_VERSION = 0
3
+ PVXS_MAINTENANCE_VERSION = 1
4
4
 
5
5
  # Version range conditions in Makefiles
6
6
  #
@@ -12,7 +12,8 @@ PVXS_MAINTENANCE_VERSION = 0
12
12
  #
13
13
  # ifneq ($(PVXS_X_Y_Z),YES) # PVXS != X.Y.Z
14
14
  #
15
- PVXS_1_4_0 = YES
15
+ PVXS_1_4_1 = YES
16
+ PVXS_1_4_0 = NO
16
17
  PVXS_1_3_3 = NO
17
18
  PVXS_1_3_2 = NO
18
19
  PVXS_1_3_1 = NO
@@ -59,7 +59,7 @@ void linkGlobal_t::alloc()
59
59
  if (inUnitTest()) {
60
60
  linkGlobal->provider_remote = ioc::server().clientConfig().build();
61
61
  } else {
62
- linkGlobal->provider_remote = client::Config().build();
62
+ linkGlobal->provider_remote = client::Config::from_env().build();
63
63
  }
64
64
  }
65
65
 
@@ -4,5 +4,5 @@ requires = [
4
4
  "wheel",
5
5
  "setuptools_dso>=2.7a1",
6
6
  "setuptools_dso>=2.11a2; python_version >= '3.12'",
7
- "epicscorelibs>=7.0.7.99.1.2a3",
7
+ "epicscorelibs>=7.0.7.99.1.2",
8
8
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pvxslibs
3
- Version: 1.4.0a3
3
+ Version: 1.4.1
4
4
  Summary: PVXS libraries packaged for python
5
5
  Home-page: https://epics-base.github.io/pvxs
6
6
  Author: Michael Davidsaver
@@ -0,0 +1,2 @@
1
+ setuptools_dso>=2.7a1
2
+ epicscorelibs<7.0.7.99.2,>=7.0.7.99.1.2
@@ -696,7 +696,7 @@ build_dso.sub_commands.extend([
696
696
 
697
697
 
698
698
  pvxs_ver = '%(PVXS_MAJOR_VERSION)s.%(PVXS_MINOR_VERSION)s.%(PVXS_MAINTENANCE_VERSION)s'%pvxsversion
699
- pvxs_ver += 'a3'
699
+ # pvxs_ver += 'a3'
700
700
 
701
701
  with open(os.path.join(os.path.dirname(__file__), 'README.md')) as F:
702
702
  long_description = F.read()
@@ -310,16 +310,17 @@ void ResultWaiter::complete(Result&& result, bool interrupt)
310
310
  notify.signal();
311
311
  }
312
312
 
313
- OperationBase::OperationBase(operation_t op, const evbase& loop)
313
+ OperationBase::OperationBase(operation_t op, const evbase& loop, const std::string &name)
314
314
  :Operation(op)
315
315
  ,loop(loop)
316
+ ,channelName(name)
316
317
  {}
317
318
 
318
319
  OperationBase::~OperationBase() {}
319
320
 
320
321
  const std::string& OperationBase::name()
321
322
  {
322
- return chan->name;
323
+ return channelName;
323
324
  }
324
325
 
325
326
  Value OperationBase::wait(double timeout)
@@ -606,6 +607,9 @@ ContextImpl::ContextImpl(const Config& conf, const evbase& tcp_loop)
606
607
  nameServers.emplace_back(saddr, nullptr);
607
608
  }
608
609
 
610
+ if(searchDest.empty() && nameServers.empty())
611
+ log_err_printf(setup, "Client context created with no search destinations. Nothing much will happen now%s", "\n");
612
+
609
613
  const auto cb([this](const UDPManager::Beacon& msg) {
610
614
  onBeacon(msg);
611
615
  });
@@ -15,8 +15,8 @@ DEFINE_LOGGER(io, "pvxs.client.io");
15
15
  namespace pvxs {
16
16
  namespace client {
17
17
 
18
- Discovery::Discovery(const std::shared_ptr<ContextImpl> &context)
19
- :OperationBase (Operation::Discover, context->tcp_loop)
18
+ Discovery::Discovery(const std::shared_ptr<ContextImpl> &context, const std::string& name)
19
+ :OperationBase (Operation::Discover, context->tcp_loop, name)
20
20
  ,context(context)
21
21
  {}
22
22
 
@@ -63,7 +63,7 @@ std::shared_ptr<Operation> DiscoverBuilder::exec()
63
63
  auto context(ctx->impl->shared_from_this());
64
64
  auto ping(_ping);
65
65
 
66
- auto op(std::make_shared<Discovery>(context));
66
+ auto op(std::make_shared<Discovery>(context, std::string()));
67
67
  op->notify = std::move(_fn);
68
68
 
69
69
  auto syncCancel(_syncCancel);
@@ -134,8 +134,8 @@ struct GPROp : public OperationBase
134
134
 
135
135
  INST_COUNTER(GPROp);
136
136
 
137
- GPROp(operation_t op, const evbase& loop)
138
- :OperationBase (op, loop)
137
+ GPROp(operation_t op, const evbase& loop, const std::string& name)
138
+ :OperationBase (op, loop, name)
139
139
  {}
140
140
  ~GPROp() {
141
141
  if(loop.assertInRunningLoop())
@@ -582,6 +582,9 @@ std::shared_ptr<Operation> gpr_setup(const std::shared_ptr<ContextImpl>& context
582
582
  std::shared_ptr<GPROp>&& op,
583
583
  bool syncCancel)
584
584
  {
585
+ if(name.empty())
586
+ throw std::logic_error("Empty channel name");
587
+
585
588
  auto internal(std::move(op));
586
589
  internal->internal_self = internal;
587
590
 
@@ -625,7 +628,7 @@ std::shared_ptr<Operation> GetBuilder::_exec_get()
625
628
 
626
629
  auto context(ctx->impl->shared_from_this());
627
630
 
628
- auto op(std::make_shared<GPROp>(Operation::Get, context->tcp_loop));
631
+ auto op(std::make_shared<GPROp>(Operation::Get, context->tcp_loop, _name));
629
632
  op->setDone(std::move(_result), std::move(_onInit));
630
633
  op->autoExec = _autoexec;
631
634
  op->pvRequest = _buildReq();
@@ -640,7 +643,7 @@ std::shared_ptr<Operation> PutBuilder::exec()
640
643
 
641
644
  auto context(ctx->impl->shared_from_this());
642
645
 
643
- auto op(std::make_shared<GPROp>(Operation::Put, context->tcp_loop));
646
+ auto op(std::make_shared<GPROp>(Operation::Put, context->tcp_loop, _name));
644
647
  op->setDone(std::move(_result), std::move(_onInit));
645
648
 
646
649
  if(_builder) {
@@ -672,7 +675,7 @@ std::shared_ptr<Operation> RPCBuilder::exec()
672
675
 
673
676
  auto context(ctx->impl->shared_from_this());
674
677
 
675
- auto op(std::make_shared<GPROp>(Operation::RPC, context->tcp_loop));
678
+ auto op(std::make_shared<GPROp>(Operation::RPC, context->tcp_loop, _name));
676
679
  op->setDone(std::move(_result), nullptr);
677
680
  if(_argument) {
678
681
  if(!_autoexec)
@@ -44,6 +44,7 @@ struct ResultWaiter {
44
44
  struct OperationBase : public Operation
45
45
  {
46
46
  const evbase loop;
47
+ const std::string channelName;
47
48
  // remaining members only accessibly from loop worker
48
49
  std::shared_ptr<Channel> chan;
49
50
  uint32_t ioid = 0;
@@ -51,7 +52,7 @@ struct OperationBase : public Operation
51
52
  bool done = false;
52
53
  std::shared_ptr<ResultWaiter> waiter;
53
54
 
54
- OperationBase(operation_t op, const evbase& loop);
55
+ OperationBase(operation_t op, const evbase& loop, const std::string& name);
55
56
  virtual ~OperationBase();
56
57
 
57
58
  virtual void createOp() =0;
@@ -230,7 +231,7 @@ struct Discovery final : public OperationBase
230
231
  std::function<void(const Discovered &)> notify;
231
232
  bool running = false;
232
233
 
233
- Discovery(const std::shared_ptr<ContextImpl>& context);
234
+ Discovery(const std::shared_ptr<ContextImpl>& context, const std::string& name);
234
235
  ~Discovery();
235
236
 
236
237
  virtual bool cancel() override final;
@@ -30,8 +30,8 @@ struct InfoOp : public OperationBase
30
30
 
31
31
  INST_COUNTER(InfoOp);
32
32
 
33
- explicit InfoOp(const evbase& loop)
34
- :OperationBase(Info, loop)
33
+ explicit InfoOp(const evbase& loop, const std::string& name)
34
+ :OperationBase(Info, loop, name)
35
35
  {}
36
36
 
37
37
  virtual ~InfoOp()
@@ -184,10 +184,12 @@ std::shared_ptr<Operation> GetBuilder::_exec_info()
184
184
  throw std::logic_error("NULL Builder");
185
185
  if(!_autoexec)
186
186
  throw std::logic_error("autoExec(false) not possible for info()");
187
+ if(_name.empty())
188
+ throw std::logic_error("Empty channel name");
187
189
 
188
190
  auto context(ctx->impl->shared_from_this());
189
191
 
190
- auto op(std::make_shared<InfoOp>(context->tcp_loop));
192
+ auto op(std::make_shared<InfoOp>(context->tcp_loop, _name));
191
193
  if(_result) {
192
194
  op->done = std::move(_result);
193
195
  } else {
@@ -33,9 +33,6 @@ struct Entry {
33
33
 
34
34
  struct SubscriptionImpl final : public OperationBase, public Subscription
35
35
  {
36
- // for use in log messages, even after cancel()
37
- std::string channelName;
38
-
39
36
  evevent ackTick;
40
37
 
41
38
  // const after exec()
@@ -75,8 +72,8 @@ struct SubscriptionImpl final : public OperationBase, public Subscription
75
72
 
76
73
  INST_COUNTER(SubscriptionImpl);
77
74
 
78
- explicit SubscriptionImpl(const evbase& loop)
79
- :OperationBase (Operation::Monitor, loop)
75
+ explicit SubscriptionImpl(const evbase& loop, const std::string& name)
76
+ :OperationBase (Operation::Monitor, loop, name)
80
77
  ,ackTick(__FILE__, __LINE__,
81
78
  event_new(loop.base, -1, EV_TIMEOUT, &tickAckS, this))
82
79
  {}
@@ -742,12 +739,13 @@ std::shared_ptr<Subscription> MonitorBuilder::exec()
742
739
  {
743
740
  if(!ctx)
744
741
  throw std::logic_error("NULL Builder");
742
+ if(_name.empty())
743
+ throw std::logic_error("Empty channel name");
745
744
 
746
745
  auto context(ctx->impl->shared_from_this());
747
746
 
748
- auto op(std::make_shared<SubscriptionImpl>(context->tcp_loop));
747
+ auto op(std::make_shared<SubscriptionImpl>(context->tcp_loop, _name));
749
748
  op->self = op;
750
- op->channelName = std::move(_name);
751
749
  op->event = std::move(_event);
752
750
  op->onInit = std::move(_onInit);
753
751
  op->pvRequest = _buildReq();
@@ -698,6 +698,7 @@ bool evsocket::init_canIPv6() noexcept
698
698
  #endif
699
699
 
700
700
  struct IfMapDaemon : private epicsThreadRunable {
701
+ SockAttach attach;
701
702
  epicsMutex lock;
702
703
  epicsEvent wake;
703
704
  std::shared_ptr<const IfaceMap::Current> latest;
@@ -116,7 +116,10 @@ struct PVXS_API Operation {
116
116
  Operation& operator=(const Operation&) = delete;
117
117
  virtual ~Operation() =0;
118
118
 
119
- //! PV name
119
+ /** PV name
120
+ *
121
+ * Returned reference is valid for the lifetime of the Operation
122
+ */
120
123
  virtual const std::string& name() =0;
121
124
 
122
125
  //! Explicitly cancel a pending operation.
@@ -93,12 +93,12 @@ public:
93
93
  virtual ~OpBase() =0;
94
94
  };
95
95
  //! Log to remote peer
96
- //! @since UNRELEASED
96
+ //! @since 1.4.0
97
97
  struct PVXS_API RemoteLogger {
98
98
  virtual ~RemoteLogger() =0;
99
99
 
100
100
  //! Request log message to peer
101
- //! @since UNRELEASED
101
+ //! @since 1.4.0
102
102
  virtual void logRemote(Level lvl, const std::string& msg) =0;
103
103
  };
104
104
 
@@ -165,8 +165,9 @@ client::Config Server::clientConfig() const
165
165
  ret.udp_port = pvt->effective.udp_port;
166
166
  ret.tcp_port = pvt->effective.tcp_port;
167
167
  ret.interfaces = pvt->effective.interfaces;
168
- ret.addressList = pvt->effective.interfaces;
169
- ret.autoAddrList = false;
168
+ ret.addressList = pvt->effective.beaconDestinations;
169
+ ret.autoAddrList = pvt->effective.auto_beacon;
170
+ // pvt->effective.ignoreAddrs; no equivalent with client config
170
171
 
171
172
  return ret;
172
173
  }
@@ -88,8 +88,9 @@ struct ServerGPR final : public ServerOp
88
88
 
89
89
  if(state==Executing)
90
90
  state = Idle;
91
+
91
92
  else // Creating
92
- state = Dead;
93
+ cleanup();
93
94
 
94
95
  } else if(state==Creating) {
95
96
  // connect()
@@ -108,7 +109,11 @@ struct ServerGPR final : public ServerOp
108
109
  if(value)
109
110
  to_wire_full(R, value);
110
111
  }
111
- state = lastRequest ? Dead : Idle;
112
+ if(lastRequest) {
113
+ cleanup();
114
+ } else {
115
+ state = Idle;
116
+ }
112
117
 
113
118
  } else {
114
119
  assert(false);
@@ -117,10 +122,6 @@ struct ServerGPR final : public ServerOp
117
122
  }
118
123
 
119
124
  ch->statTx += conn->enqueueTxBody(cmd);
120
-
121
- if(state == ServerOp::Dead) {
122
- cleanup();
123
- }
124
125
  }
125
126
 
126
127
  void cleanup() override final
@@ -59,6 +59,8 @@ struct MonitorOp final : public ServerOp
59
59
  // is doReply() scheduled to run
60
60
  bool scheduled=false;
61
61
  bool pipeline=false; // const after setup
62
+ // set until first update queued
63
+ bool first=true;
62
64
  // finish() called
63
65
  bool finished=false;
64
66
  size_t window=0u, limit=4u;
@@ -128,7 +130,11 @@ struct MonitorOp final : public ServerOp
128
130
  uint8_t subcmd = 0u;
129
131
  if(self->state==Creating) {
130
132
  subcmd = 0x08;
131
- self->state = self->type ? Idle : Dead;
133
+ if(self->type) {
134
+ self->state = Idle;
135
+ } else {
136
+ self->cleanup();
137
+ }
132
138
 
133
139
  } else if(self->state==Executing) {
134
140
  if(self->queue.empty() || (self->pipeline && !self->window && !self->finished)) {
@@ -138,7 +144,7 @@ struct MonitorOp final : public ServerOp
138
144
 
139
145
  } else if(!self->queue.front()) {
140
146
  subcmd = 0x10;
141
- self->state = Dead;
147
+ self->cleanup();
142
148
  log_debug_printf(connio, "Client %s IOID %u finishes\n",
143
149
  conn->peerName.c_str(), unsigned(self->ioid));
144
150
  }
@@ -177,7 +183,6 @@ struct MonitorOp final : public ServerOp
177
183
  ch->statTx += conn->enqueueTxBody(pva_app_msg_t::CMD_MONITOR);
178
184
 
179
185
  if(self->state == ServerOp::Dead) {
180
- self->cleanup();
181
186
  return;
182
187
  }
183
188
 
@@ -250,7 +255,11 @@ struct ServerMonitorControl : public server::MonitorControlOp
250
255
  throw std::logic_error("Type change not allowed in post(). Recommend pvxs::Value::cloneEmpty()");
251
256
 
252
257
  // pvMask is const at this point, so no need to lock
253
- bool real = testmask(val, mon->pvMask);
258
+ bool real = mon->first; // always post through first update
259
+ if(real)
260
+ mon->first = false;
261
+ else
262
+ real = testmask(val, mon->pvMask); // consider mask for subsequent updates
254
263
 
255
264
  Guard G(mon->lock);
256
265
  if(mon->finished)
@@ -533,7 +542,7 @@ void ServerConn::handle_MONITOR()
533
542
 
534
543
  if(op->pipeline) {
535
544
  if(!nack) {
536
- // before UNRELEASED initial nack=0 clamped the window size to zero!
545
+ // before 1.4.0 initial nack=0 clamped the window size to zero!
537
546
  log_err_printf(connsetup,
538
547
  "Client %s \"%s\" pipeline monitor w/o initial nack incompatible\n",
539
548
  peerName.c_str(), chan->name.c_str());
@@ -716,9 +716,10 @@ std::ostream& operator<<(std::ostream& strm, const SockAddr& addr)
716
716
 
717
717
  GetAddrInfo::GetAddrInfo(const char *name)
718
718
  {
719
- evutil_addrinfo hints = {};
720
- hints.ai_flags = EVUTIL_AI_NUMERICHOST;
721
- if(auto err = evutil_getaddrinfo(name, nullptr, &hints, &info)) {
719
+ // evutil_getaddrinfo() wrapper implicitly expects result pointer to be zerod
720
+ // when applying various compatibility "hacks" on some targets.
721
+ info = nullptr;
722
+ if(auto err = evutil_getaddrinfo(name, nullptr, nullptr, &info)) {
722
723
  throw std::runtime_error(SB()<<"Error resolving \""<<escape(name)<<"\" : "<<evutil_gai_strerror(err));
723
724
  }
724
725
  }
@@ -1,2 +0,0 @@
1
- setuptools_dso>=2.7a1
2
- epicscorelibs<7.0.7.99.2,>=7.0.7.99.1.2a3
File without changes
File without changes
File without changes
File without changes