> Am 29.11.2025 um 13:52 schrieb Rony G. Flatscher <[email protected]>:
> 
> Looking into this a little bit further, it seems that it would be sufficient 
> to re-establish the documentation for these functions:
> 
> B.2.1. RexxUtil Semaphore functions
> 
> The following RexxUtil functions related to semaphore-processing have been 
> deprecated.
> 
> SysCloseEventSem         SysPostEventSem
> SysCloseMutexSem         SysPulseEventSem
> SysCreateEventSem         SysReleaseMutexSem
> SysCreateMutexSem         SysRequestMutexSem
> SysOpenEventSem         SysResetEventSem
> SysOpenMutexSem         SysWaitEventSem
> It would be necessary to obtain the documentation from ooRexx 4.2.0 and 
> incorporate it into the current documentation for rexxref.pdf, adding a note 
> that it is not currently available for the macOS platform.
> 
> Additionally, the deprecation notices from Appendix B in rexxref.pdf should 
> be removed then.
> 
> We would  need to create a RFE for undeprecating it to record the 
> re-establishment of the documentation against it.
> 
> Would there be any takers for this task? 
> 

I am unable to take on this task but I looked into it quickly

These are found in current trunk

SysRexxUtil.cpp (both for Win and *nix in trunk)
SysRexxUtilFunctions.h (both for Win and *nix in trunk)

And apparently they are built for all platforms

mig.xml (in /docs/trunk/rexxref/en-US) This part should be changed:
<section id="deprecated.semaphore"><title>RexxUtil Semaphore functions</title>
<para>The following RexxUtil functions related to
semaphore-processing have been deprecated.
...


Present in 4.2.0 release (/docs/releases/4.2.0/trunk/rexxref/en-US/)
xconcur.xml
rexutil.xml

So it seems only book rexxref in affected.

I was baffled by Rick’s remark that it works on *nix but not on Mac. Today 
MacOS *is* based on Darwin, which in turn is based on BSD Unix. So it *should* 
work on Mac.

Just a thought: ooRexx 4.0 was released in 2009 ooRexx 4.2 in 2014. During that 
period the Mac was in a transition from PowerPC to Intel processors, the first 
Mac with Intel Processor arriving around 2009.

Could it be that the notion of Mac non-function stems from testing it on 
PowerPC based Macs?

Speaking of tests - I have not been able to find any test cases for these 
functions, have any been written, or could someone write some? I do not have 
the skills for doing so but would happily add them to Jenkins test platform.
> ---rony
> 
> 
> 
> On 09.11.2025 00:54, Rony G. Flatscher wrote:
>> On 08.11.2025 23:11, Rick McGuire wrote:
>>> 
>>> 
>>> On Sat, Nov 8, 2025 at 5:00 PM Rony G. Flatscher <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>>> On 08.11.2025 21:25, Rick McGuire wrote:
>>>>> They got deprecated because they are impossible to implement on every 
>>>>> platform. 
>>>> It seems that in  
>>>> <https://sourceforge.net/p/oorexx/discussion/408478/thread/4d937f7069/?limit=25#c04f>
>>>>  
>>>> <https://sourceforge.net/p/oorexx/discussion/408478/thread/4d937f7069/?limit=25#c04f>
>>>>  an inter-process synchronization is sought on Windows. (The built-in 
>>>> classes EventSemaphore and MutexSemaphore would work on all platforms, but 
>>>> within a single process only.)
>>>> 
>>>> As we have a few Sys-functions (rexxref.pdf, "8.2. List of Rexx Utility 
>>>> Functions") that work only on Windows (e.g., SysBootDrive()) and a few 
>>>> others that work only on Unix (e.g., SysCreatePipe()), we could probably 
>>>> undeprecate these Windows-only Sys-functions as long as they can be 
>>>> implemented on Windows. This would allow the ooRexx users exploiting these 
>>>> Sys-functions to keep on using ooRexx.
>>>> 
>>> 
>>> The functions also work on the various *ix variants, except for the mac, 
>>> They are still getting built for all the platforms, but are useless on the 
>>> mac. If they get undeprecated, then the mac issue needs to be addressed, 
>>> either by no longer including the functions on the mac build or by 
>>> potentially raising a "Not supported" error on that platform.
>> Thank you for the information and the hint about the Mac platform!
>> 
>> ---rony
>> 
>> 
>> 
>> 
>> 
>>>>> 
>>>>> On Sat, Nov 8, 2025 at 3:21 PM Rony G. Flatscher <[email protected] 
>>>>> <mailto:[email protected]>> wrote:
>>>>>> Here from rexxref.pdf:
>>>>>> B.1. Incompatible ooRexx features
>>>>>> 
>>>>>> Functions or features which have been changed in ooRexx 5.0 in a way 
>>>>>> that will lead to
>>>>>> incompatibilities with prior versions.
>>>>>> 
>>>>>> B.1.1. RexxUtil SysTempFileName
>>>>>> 
>>>>>> SysTempFileName on Unix-like platforms now behaves identically to 
>>>>>> SysTempFileName on Windows.
>>>>>> It no longer uses only the first five characters of the file name part 
>>>>>> of the template, appending a
>>>>>> random string to make it unique. It also no more prepends an operating 
>>>>>> system-chosen writable path if
>>>>>> no path is given in the template. Instead it now uses the same 
>>>>>> filler-based mechanism as the Windows
>>>>>> version does.
>>>>>> 
>>>>>> Existing ooRexx programs using SysTempFileName on Unix-like platforms 
>>>>>> will need to be amended.
>>>>>> 
>>>>>> B.2. Deprecated Rexx features
>>>>>> 
>>>>>> In exceptional circumstances, ooRexx may deprecate functions or 
>>>>>> features, which means the use
>>>>>> of these functions is discouraged, documentation is no longer provided, 
>>>>>> and bug reports against
>>>>>> deprecated functions will not be accepted. Reasons for deprecation 
>>>>>> include broken functionality,
>>>>>> features that were never officially documented, or functions no longer 
>>>>>> required.
>>>>>> Although existing code using deprecated functions is expected to 
>>>>>> continue to work as-is, you are
>>>>>> strongly encouraged to migrate to the replacement functionality, as 
>>>>>> these functions may be removed
>>>>>> from future releases of the interpreter.
>>>>>> 
>>>>>> B.2.1. RexxUtil Semaphore functions
>>>>>> 
>>>>>> The following RexxUtil functions related to semaphore-processing have 
>>>>>> been deprecated.
>>>>>> 
>>>>>> SysCloseEventSem         SysPostEventSem
>>>>>> SysCloseMutexSem         SysPulseEventSem
>>>>>> SysCreateEventSem         SysReleaseMutexSem
>>>>>> SysCreateMutexSem         SysRequestMutexSem
>>>>>> SysOpenEventSem         SysResetEventSem
>>>>>> SysOpenMutexSem         SysWaitEventSem
>>>>>> 
>>>>>> They have been superseded by the new EventSemaphore Class and 
>>>>>> MutexSemaphore Class.
>>>>>> ... cut ...
>>>>>> ---rony
>>>>>> 
>>>>>> 
>>>>>> On 08.11.2025 21:14, Rony G. Flatscher wrote:
>>>>>>> There are a couple of Sys-functions that got deprecated by removing 
>>>>>>> their documentation from the installation package of ooRexx 5.1.0. 
>>>>>>> Still, these functions get used and it seems that their system-wide 
>>>>>>> functionality cannot be replaced by any of the new ooRexx classes.
>>>>>>> 
>>>>>>> The thread in 
>>>>>>> <https://sourceforge.net/p/oorexx/discussion/408478/thread/4d937f7069/?limit=25#c04f>
>>>>>>>  
>>>>>>> <https://sourceforge.net/p/oorexx/discussion/408478/thread/4d937f7069/?limit=25#c04f>
>>>>>>>  leads to the question:
>>>>>>> 
>>>>>>> "Can't the native functions be undeprecated? It doesn't seem like there 
>>>>>>> is a replacement for key features they provide, like the ability to 
>>>>>>> share across processes including non-Rexx processes that can also 
>>>>>>> interact with the underlying operating system objects."
>>>>>>> 
>>>>>>> Would there be any downsides, if re-instatitng the documentation of 
>>>>>>> these Sys-functions and formally removing the "deprecate" tag on them?
>>>>>>> 
>>>>>>> ---rony
>>>>>>> 
> 
> _______________________________________________
> Oorexx-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel

_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to