Re: [Live-devel] use of volatile in doEventLoop for interthread synchronization

2024-08-01 Thread Ross Finlayson
Yes, in a future version of the code, I’ll change the signature of “doEventLoop()” to make “watchVariable” a “std:atomic_char*” rather than a "char volatile*”. (As with the recent changes to “fTriggersAwaitingHandling”, this will be #ifdef’d for those who don’t have (or don’t want to use) the C

[Live-devel] use of volatile in doEventLoop for interthread synchronization

2024-08-01 Thread gback
Hi, the current Live555 uses `volatile` for interthread synchronization in doEventLoop. As per C++ specification, volatile cannot be used for this purpose and in fact introduces undefined behavior. (*) Although we can argue about what practical effect this has I believe that just followin

Re: [Live-devel] ServerMediaSession::generateSDPDescription breaks if time_t is a 64-bit long long but sizeof(long) == 4

2024-08-01 Thread Ross Finlayson
Godmar, Thanks for the report. I have just installed a new version (2024.08.01) of the code that fixes this. (A reminder: People should not be downloading the LIVE555 code from other people’s Github repositories - and should certainly not be posting alleged bugfixes there. To be confident th

[Live-devel] ServerMediaSession::generateSDPDescription breaks if time_t is a 64-bit long long but sizeof(long) == 4

2024-08-01 Thread gback
Hi, in ServerMediaSession::generateSDPDescription the format specifier %ld is used to print fCreationTime.tv_sec, which treats this variable as if it is of type long. However, to avoid the Year 2038 problem, time_t today is typically 64bit. On machines using the LLP64 model, long is only 32bi