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?

---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]> 
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]> 
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

Reply via email to