zimoch and Andrew Johnson
4d63e65b9d
fdManager changed to use poll()
...
The implementation using select() limits file desciptors to FD_SETSIZE,
typically 1024 on Linux. This number is too low for some applications,
for example for the CA gateway.
Therefore, Linux builds use poll() instead.
2025-06-04 12:43:27 -05:00
zimoch and Andrew Johnson
ea402b0f73
fix for architectures where sizeof(void*) > sizeof(long), i.e. windows-x64
2025-06-04 10:14:59 -05:00
Érico Nogueira and Andrew Johnson
21368dc7b4
Don't include linux/ header in osdSockUnsentCount.
...
Per the manpage in the file's comment, SIOCOUTQ is equivalent to the
TIOCOUTQ ioctl, whose value can be obtained by including <sys/ioctl.h>,
which allows us to avoid including any system-specific headers. This is
desirable so that, on a musl system, it won't be necessary to install
kernel headers in order to build epics-base.
Since it's first been checked into Git, the Linux kernel has defined
SIOCOUTQ to be TIOCOUTQ [1].
From the three main libc options on Linux: glibc and uclibc use the
kernel headers, so both ioctls are available; and musl defines only
TIOCOUTQ in their own headers.
[1] https://github.com/torvalds/linux/commit/1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
2025-06-04 09:55:04 -05:00
Andrew Johnson
0f6fd8fff7
Improve 'help' self-description message
2025-06-04 09:52:44 -05:00
Andrew Johnson
42e7cbc71d
Add color to the softIoc verbose output
2025-06-04 09:52:44 -05:00
Andrew Johnson
c0da3dd1f9
Make default iocsh prompt green
...
The bldEnvData.pl script now syntax-checks the envParam
default values, allowing ANSI color macros to be used
in the IOCSH_PS1 parameter.
2025-06-04 09:52:44 -05:00
Andrew Johnson
55d918e74c
Add more colour to iocsh output messages
...
Includes some unification of error text, narrower wrap margin.
'var' output now lists the variable types.
2025-06-04 09:52:44 -05:00
zimoch
f7778539e8
make CALC/OCAL fields twice as long
2025-05-23 11:42:17 +02:00
zimoch
45ea3d5664
extend calc records and expressions to inputs A-U
2025-05-22 16:34:16 +02:00
zimoch and Andrew Johnson
b833f12129
fix epicsStrtod for 32 bit architectures
2025-04-23 09:25:17 -05:00
Michael Davidsaver
f827bd7e34
true is C23 keyword
2025-04-15 16:10:34 -07:00
zimoch
997746e5e2
fix epicsStrtod for 32 bit architectures
2025-03-21 15:16:25 +01:00
zimoch
09f96d056a
Merge branch '7.0' into PSI-7.0
2025-03-21 15:15:57 +01:00
zimoch
1732c9440a
fix for mingw warning about order of header files
2025-03-21 13:49:05 +01:00
zimoch
acf4c92697
fix epicsExport for volatile and const variables
2025-03-21 13:49:04 +01:00
zimoch
93ba98cdca
VxWorks does not mark abort() or exit() noreturn
2025-03-21 13:49:04 +01:00
Jeremy Lorelli and Andrew Johnson
6ea6ae633b
Define NOCRYPT, NOSOUND and NOKANJI before including windows.h
2025-03-19 11:19:45 -05:00
JJL772 and Andrew Johnson
fc5d3c9a5c
Disable extraneous WIN32 declarations when including windows.h in epicsAtomicOSD.h
2025-03-19 11:19:45 -05:00
zimoch and Andrew Johnson
c75ad2673e
no longer need extern "C" { } around epicsExport macros
2025-03-19 11:17:14 -05:00
zimoch and Andrew Johnson
b97a35fec8
Don't use __attribute__((noreturn)) on VxWorks
...
VxWorks does not mark abort() or exit() as noreturn.
Thus, functions declared noreturn which end in a call
to those functions cause a compiler warning on vxWorks.
2025-03-19 11:06:26 -05:00
Michael Davidsaver and Andrew Johnson
48ebe2c64e
Avoid initMainThread() except on vxworks
...
Move isOkToBlock tracking to osdThread.
Targets except vxworks can store this flag in epicsThreadOSD.
Continue to use TLS w/ vxWorks.
Note that setting of isOkToBlock for "main" thread becomes lazy.
2025-03-19 10:53:42 -05:00
Michael Davidsaver and Andrew Johnson
13d6ca598c
initHookRegister() make idempotent and MustSucceed
2025-03-05 10:02:38 -06:00
zimoch and Andrew Johnson
43e75e3901
decorate functions that do not return
2025-03-05 09:51:57 -06:00
zimoch
2e77bc8cc1
improve atExit debugging
2025-03-05 11:21:19 +01:00
zimoch
ea7459084e
Merge remote-tracking branch 'github/noreturn' into PSI-7.0
2025-03-04 17:55:32 +01:00
zimoch
ddc49e9f79
Merge remote-tracking branch 'github/epicsExportAddress' into PSI-7.0
2025-03-04 17:55:15 +01:00
zimoch
c5315d95b8
no longer need extern "C" { } around epicsExport macros
2025-03-04 17:45:04 +01:00
zimoch
74d231b04f
decorate functions that do not return
2025-03-04 14:41:05 +01:00
zimoch
23521e0a08
Merge remote-tracking branch 'github/fdManager_using_poll' into PSI-7.0
2025-03-03 17:20:13 +01:00
zimoch
55791ef470
Merge branch 7.0.9 into PSI-7.0
2025-03-03 17:19:23 +01:00
zimoch
7b2fb669ec
Merge remote-tracking branch 'xiaoqiang/7.0' into PSI-7.0
2025-03-03 17:14:20 +01:00
Michael Davidsaver
7384351181
clarify cantProceed() message
2025-02-18 07:30:51 -08:00
zimoch
8f1a3888c6
cleanup coding style in fdManager
2025-02-10 08:47:59 +01:00
zimoch
c9183b5241
fdManager: filter poll flags for Window's sake
2025-02-10 08:47:59 +01:00
zimoch
c3f57ee818
make fdManagerPrivate::fdReg volatile to avoid codacy warning
2025-02-10 08:47:59 +01:00
zimoch
27f4261dfb
use smart pointers in fdManager
2025-02-10 08:47:59 +01:00
zimoch
5eb9997791
fix codacy warning: make fdManagerPrivate constructor explicit
2025-02-10 08:47:59 +01:00
zimoch
bfc2f832ec
fdManager uses poll() on Darwin too
2025-02-10 08:47:59 +01:00
zimoch
f09b235fce
Keep implementation details of fdManager out of header file
2025-02-10 08:47:59 +01:00
zimoch
ece031c88b
fdManager use std::vector
2025-02-10 08:47:59 +01:00
zimoch
cbbbd67843
fdManager uses poll() on Windows and RTEMS too
...
RTEMS needs to use the "new" network stack
Windows has poll since Vista
Don't use poll on cygwin: it emulates poll() using select().
2025-02-10 08:47:59 +01:00
zimoch
57c0295024
fdManager changed to use poll()
...
The implementation using select() limits file desciptors to FD_SETSIZE,
typically 1024 on Linux. This number is too low for some applications,
for example for the CA gateway.
Therefore, Linux builds use poll() instead.
2025-02-10 08:47:59 +01:00
Michael Davidsaver
1d19ba4cc2
doc and log for *MustSucceed()
...
Replace the "never returns NULL." statement which is
manifestly not true.
2025-02-07 09:09:22 -08:00
JJL772 and Andrew Johnson
144f9756ea
Add iocshSetError in a bunch of places
2025-02-05 10:16:16 -06:00
DW and Andrew Johnson
48eed22f3b
check IOCSH_STARTUP_SCRIPT before set
2025-02-05 10:03:35 -06:00
Michael Davidsaver
e4ad4becde
rationalize osdMutex
...
Avoids split allocation.
Eliminates special case free-list.
win32: eliminate pre-XP
rtems-score: eliminate non-fast
2024-12-29 16:35:26 -08:00
Jeremy Lorelli and Michael Davidsaver
721e9cc3a7
Add ABORT_ON_ASSERT flag to CONFIG_SITE
...
This flag causes EPICS to call abort() on assertion failures rather than
suspend the executing thread. With the epicsThreadSuspendSelf() behavior,
an IOC can end up in a difficult to detect error state where one or more
threads has essentially crashed due to an assertion failure.
This also matches the C behavior of assert(3)
2024-12-29 16:34:10 -08:00
Jeremy Lorelli and mdavidsaver
333be085c0
Fix compile error in tsSLList.h
2024-12-28 12:40:27 -08:00
zimoch
b53505d339
Merge branch '7.0' into PSI-7.0
2024-12-05 16:58:15 +01:00
Chris Johns and Andrew Johnson
594e5ee9db
rtems: Set the name of EPICS threads so RTEMS commands report the name
...
Use the NP POSIX call pthread_setname_np to set the POSIX thread name.
2024-10-31 16:21:49 -05:00