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



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

--
--
__________________________________________________________________________________

Prof. Dr. Rony G. Flatscher, iR
Department Wirtschaftsinformatik und Operations Management
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe

http://www.wu.ac.at
__________________________________________________________________________________




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

Reply via email to