• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu

rexxutil.dll clone

Started by MikeG, 2008.01.19, 21:50:52

Previous topic - Next topic

MikeG

Any brave souls want to give this a try:

http://www.mgreene.org/xfer/newrexxutil.zip

It is a rexxutil.dll replacement I have been playing with and now has a enough fixes to get ecsmt up and running.

Mike

Saijin_Naib

Whats the advantage over the default rexxutil.dll?

DavidG

One big one.   Since Mike has created a clone, Mike has source code which can be fixed and improved on.

MikeG

Quote from: David Graser on 2008.01.19, 22:10:58
One big one.   Since Mike has created a clone, Mike has source code which can be fixed and improved on.

Wrong, you download the above link then you also have the source  ;D

It does contain the oorexx math functions.  Here is te list of functions in the link file:

EXPORT  SYSCLS.1                       = SysCls
EXPORT  SYSCURPOS.2                    = SysCurPos
EXPORT  SYSCURSTATE.3                  = SysCurState
EXPORT  SYSDRIVEINFO.4                 = SysDriveInfo
EXPORT  SYSDRIVEMAP.5                  = SysDriveMap
EXPORT  SYSDROPFUNCS.6                 = SysDropFuncs
EXPORT  SYSFILEDELETE.7                = SysFileDelete
EXPORT  SYSFILESEARCH.8                = SysFileSearch
EXPORT  SYSFILETREE.9                  = SysFileTree
EXPORT  SYSGETKEY.10                   = SysGetKey
EXPORT  SYSGETMESSAGE.11               = SysGetMessage
EXPORT  SYSINI.12                      = SysIni
EXPORT  SYSLOADFUNCS.13                = SysLoadFuncs
EXPORT  SYSMKDIR.14                    = SysMkDir
EXPORT  SYSOS2VER.15                   = SysOS2Ver
EXPORT  SYSRMDIR.16                    = SysRmDir
EXPORT  SYSSEARCHPATH.17               = SysSearchPath
EXPORT  SYSSLEEP.18                    = SysSleep
EXPORT  SYSTEMPFILENAME.19             = SysTempFileName
EXPORT  SYSTEXTSCREENREAD.20           = SysTextScreenRead
EXPORT  SYSTEXTSCREENSIZE.21           = SysTextScreenSize
EXPORT  SYSGETEA.22                    = SysGetEA
EXPORT  SYSPUTEA.23                    = SysPutEA
EXPORT  SYSWAITNAMEDPIPE.24            = SysWaitNamedPipe
EXPORT  SYSSETICON.25                  = SysSetIcon
EXPORT  SYSREGISTEROBJECTCLASS.26      = SysRegisterObjectClass
EXPORT  SYSDEREGISTEROBJECTCLASS.27    = SysDeregisterObjectClass
EXPORT  SYSCREATEOBJECT.28             = SysCreateObject
EXPORT  SYSQUERYCLASSLIST.29           = SysQueryClassList
EXPORT  SYSDESTROYOBJECT.30            = SysDestroyObject
EXPORT  SYSSETOBJECTDATA.31            = SysSetObjectData
EXPORT  SYSSAVEOBJECT.32               = SysSaveObject
EXPORT  SYSOPENOBJECT.33               = SysOpenObject
EXPORT  SYSMOVEOBJECT.34               = SysMoveObject
EXPORT  SYSCOPYOBJECT.35               = SysCopyObject
EXPORT  SYSCREATESHADOW.36             = SysCreateShadow
EXPORT  SYSBOOTDRIVE.37                = SysBootDrive
EXPORT  SYSQUERYEALIST.38              = SysQueryEAList
EXPORT  SYSWILDCARD.39                 = SysWildCard
EXPORT  SYSFILESYSTEMTYPE.40           = SysFileSystemType
EXPORT  SYSADDFILEHANDLE.41            = SysAddFileHandle
EXPORT  SYSSETFILEHANDLE.42            = SysSetFileHandle
EXPORT  SYSCREATEMUTEXSEM.43           = SysCreateMutexSem
EXPORT  SYSOPENMUTEXSEM.44             = SysOpenMutexSem
EXPORT  SYSCLOSEMUTEXSEM.45            = SysCloseMutexSem
EXPORT  SYSREQUESTMUTEXSEM.46          = SysRequestMutexSem
EXPORT  SYSRELEASEMUTEXSEM.47          = SysReleaseMutexSem
EXPORT  SYSCREATEEVENTSEM.48           = SysCreateEventSem
EXPORT  SYSOPENEVENTSEM.49             = SysOpenEventSem
EXPORT  SYSCLOSEEVENTSEM.50            = SysCloseEventSem
EXPORT  SYSRESETEVENTSEM.51            = SysResetEventSem
EXPORT  SYSPOSTEVENTSEM.52             = SysPostEventSem
EXPORT  SYSWAITEVENTSEM.53             = SysWaitEventSem
EXPORT  SYSSETPRIORITY.54              = SysSetPriority
EXPORT  SYSPROCESSTYPE.55              = SysProcessType
EXPORT  SYSGETCOLLATE.56               = SysGetCollate
EXPORT  SYSNATIONALLANGUAGECOMPARE.57  = SysNationalLanguageCompare
EXPORT  SYSMAPCASE.58                  = SysMapCase
EXPORT  SYSSETPROCESSCODEPAGE.59       = SysSetProcessCodePage
EXPORT  SYSQUERYPROCESSCODEPAGE.60     = SysQueryProcessCodePage
EXPORT  SYSADDREXXMACRO.61             = SysAddRexxMacro
EXPORT  SYSDROPREXXMACRO.62            = SysDropRexxMacro
EXPORT  SYSREORDERREXXMACRO.63         = SysReorderRexxMacro
EXPORT  SYSQUERYREXXMACRO.64           = SysQueryRexxMacro
EXPORT  SYSCLEARREXXMACROSPACE.65      = SysClearRexxMacroSpace
EXPORT  SYSLOADREXXMACROSPACE.66       = SysLoadRexxMacroSpace
EXPORT  SYSSAVEREXXMACROSPACE.67       = SysSaveRexxMacroSpace
EXPORT  SYSSHUTDOWNSYSTEM.68           = SysShutDownSystem
EXPORT  SYSSWITCHSESION.69             = SysSwitchSession
EXPORT  SYSLOADLIBRARY.70              = SysLoadLibrary  # Undocumented returns INVALID_ROUTINE
EXPORT  SYSDROPLIBRARY.71              = SysDropLibrary  # Undocumented returns INVALID_ROUTINE
EXPORT  SYSELAPSEDTIME.72              = SysElapsedTime
EXPORT  SYSWAITFORSHELL.73             = SysWaitForShell
EXPORT  SYSQUERYSWITCHLIST.74          = SysQuerySwitchList
EXPORT  SYSQUERYEXTLIBPATH.75          = SysQueryExtLIBPATH
EXPORT  SYSSETEXTLIBPATH.76            = SysSetExtLIBPATH
EXPORT  SYSDUMPVARIABLES.77            = SysDumpVariables
EXPORT  SYSSETFILEDATETIME.78          = SysSetFileDateTime
EXPORT  SYSGETFILEDATETIME.79          = SysGetFileDateTime
EXPORT  SYSSTEMSORT.80                 = SysStemSort
EXPORT  SYSSTEMDELETE.81               = SysStemDelete
EXPORT  SYSSTEMINSERT.82               = SysStemInsert
EXPORT  SYSSTEMCOPY.83                 = SysStemCopy
EXPORT  SYSVERSION.84                  = SysVersion
EXPORT  SYSUTILVERSION.85              = SysUtilVersion

# Additional functions
#EXPORT  RXMESSAGEBOX.86                = RxMessageBox   # Is this suppose to be in here?
EXPORT  SYSREPLACEOBJECT.87            = SysReplaceObject

EXPORT  SYSPI                          = SysPi
EXPORT  SYSSQRT                        = SysSqrt
EXPORT  SYSEXP                         = SysExp
EXPORT  SYSLOG                         = SysLog
EXPORT  SYSLOG10                       = SysLog10
EXPORT  SYSSINH                        = SysSinH
EXPORT  SYSCOSH                        = SysCosH
EXPORT  SYSTANH                        = SysTanH
EXPORT  SYSPOWER                       = SysPower
EXPORT  SYSSIN                         = SysSin
EXPORT  SYSCOS                         = SysCos
EXPORT  SYSTAN                         = SysTan
EXPORT  SYSCOTAN                       = SysCotan
EXPORT  SYSARCSIN                      = SysArcSin
EXPORT  SYSARCCOS                      = SysArcCos
EXPORT  SYSARCTAN                      = SysArcTan

Mike

RobertM

Hi Mike,

First, thanks for your efforts. Second, hopefully you can answer this question...

Since IBM started compiling OREXX with MSC Compiler (whether due to the compiler switch or bad code, I dont know), OREXX has suffered from poor performance in handling stem variables, memory leaks, and eventually crashes of the rexx dlls. The performance issues were massive as well... utilizing the same CREXX code, CREXX would take (consistently) 4 seconds for generating web based reports (creates roughly 80,000 stem variables, does various math which gets held in certain ones of them, then generates an HTML page to the stem variables) - while OREXX would take 45 seconds to 95 seconds (varied for no noticeable reason). The tests were performed from the commandline (not through the web server), with the same processes running, and repeated 50 times.

So... here's the question... do you know which portion of the rexx subsystem handles stem variables? Or if it was the OREXX version of the rexxutil - or OREXX version of the rexx.dll that was at fault?

Currently, I'm not running OREXX because of the stem handling issues and performance issues (and my webserver makes extensive use of stems). I'd love to be able to switch back to OREXX - but dont know if the issues are related to either REXX.DLL or REXXUTIL.DLL (or both) in the OREXX package. I do know the earlier release (than what is included in eCS 1.2) is a LITTLE more stable (and just as slow - and will eventually crash... not the first iteration of such a test - but maybe the 3rd or 7th or some other randomly greater than 1 number).

Thanks,
Robert


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


MikeG

Be careful with that last version - using ecsmt with it chops LIBPATH and so on to 256 lengths - I'm fixing now

Mike

MikeG

Just as a note, I updated this and uploaded to hobbes. Right now it looks ok and I am running with it now.

search hobbes:  rexxutil.zip

Mike

MikeG

Quote from: RobertM on 2008.01.20, 01:51:34
Hi Mike,

First, thanks for your efforts. Second, hopefully you can answer this question...

Since IBM started compiling OREXX with MSC Compiler (whether due to the compiler switch or bad code, I dont know), OREXX has suffered from poor performance in handling stem variables, memory leaks, and eventually crashes of the rexx dlls. The performance issues were massive as well... utilizing the same CREXX code, CREXX would take (consistently) 4 seconds for generating web based reports (creates roughly 80,000 stem variables, does various math which gets held in certain ones of them, then generates an HTML page to the stem variables) - while OREXX would take 45 seconds to 95 seconds (varied for no noticeable reason). The tests were performed from the commandline (not through the web server), with the same processes running, and repeated 50 times.

So... here's the question... do you know which portion of the rexx subsystem handles stem variables? Or if it was the OREXX version of the rexxutil - or OREXX version of the rexx.dll that was at fault?

Currently, I'm not running OREXX because of the stem handling issues and performance issues (and my webserver makes extensive use of stems). I'd love to be able to switch back to OREXX - but dont know if the issues are related to either REXX.DLL or REXXUTIL.DLL (or both) in the OREXX package. I do know the earlier release (than what is included in eCS 1.2) is a LITTLE more stable (and just as slow - and will eventually crash... not the first iteration of such a test - but maybe the 3rd or 7th or some other randomly greater than 1 number).

Thanks,
Robert


Robert,

I must have missed your post. I would think this is caused by the actual rexx subsystem. The rexxutil dll uses calls to RexxVariablePool(  ) to modify stems. As I understand and from my experience, both classic and orexx use the same rexxutil.dll.

Mike

RobertM



|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|