Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Doug Clark

Pages: [1] 2 3 ... 25
1
Rich,

Quote
When you drop a datafile on a program object, the pgm object does *not* open the file. Instead, the datafiles's wpDroppedOnObject() method is called, advising that it was just dropped on the pgm object. The datafile then queries the pgm object for its PROGDETAILS structure which contains the particulars for that program. Using this info, the datafile runs the program itself. And here lies the problem...

Thanks for that explanation.  I knew that wpOpen() in the program object wasn't getting called when a file was dropped, but I didn't know what was getting called and how the program was executed .  Is wpOpen() called in the datafile object when it is double-clicked and it then runs the program by querying PROGDETAILS the same way?

I am afraid that I probably am causing the problem because I am overriding wpQueryProgDetails() in the program object and modifying the contents of PROGDETAILS - which it appears that DTProgram is picking up on a drag/drop and hence the issue.

I could add the "standard" environment  to PROGDETAILS since I am modifying some of the contents anyway.  And that may be the best solution.  But I am a little worried about a memory overrun.  Most of the time when wpQueryProgDetails() is called it is called twice: the first time with a NULL pointer for returning the contents of the PROGDETAILS in order to get the needed size for allocating the memory to hold the PROGDETAILS and the second time with a pointer to the memory allocated to hold the PROGDETAILS with the pointer hopefully the correct size.  But I have noticed that sometimes it is only called once, with an "assumed large enough" size allocated for holding PROGDETAILS,  (If I am remembering correctly the size I saw was 1024)   If I add in the standard environment it could exceed that "assumed large enough" size.

I saw that "only call once with an assumed large enough size" behavior on a machine that was running eWorkplace, but I don't know if that is a eWorkplace particular behavior or something else that was installed on that machine that was calling  wpQueryProgDetails().

Thanks for the help.


2
It appears to me that an empty environment is passed to the program started when a file is dropped on a WPS program object.

Double clicking the WPProgram object doesn't do this, and double-clicking on a file associated with the program object also doesn't do this. - meaning the full environment is passed in both situations.   It appears to happen only when dropping a file on an WPProgram object.

Has anyone else experienced this issue?  Meaning is this a bug, or is there a reason for this that I am unaware of?

3
Networking / Re: Sharing WSeB Server drives to Win 10/11 Clients
« on: April 10, 2025, 06:15:18 pm »
Chris,

I am running WSeB on bare metal - an HP Elitedesk 800 mini that consumes about 12 watts at the desktop.

That system is an AOS 5.1 install minus the networking, with the networking from WSeB installed on top of that.

I am running the Samba 3.6.25 server for connections from earlier Macs, Win7, Win10, and connect OS/2 and WinXP via Netbuei to the WSeB.  I have not been able to get any version of Samba server greater than 3.6.25 running correctly. I run a domain for WSeB and a different domain for samba.  Previously I had WSeB running on top of ECS and used the same domain name for both samba and WSeB, but to do that you have to connect in a special sequence or you cannot connect to both at the same time: either samba first or WSeB first, I don't remember which.  With different domain names you can connect to both at the same time without worrying about connecting in the correct sequence.

In order to connect the Win10 machine I had to add the line
    max protocol = SMB2
to the samba.conf  file on the samba server.

I have not been able to get any of the family's latest Macs to connect to this setup but the older Macs connect fine.

With the WSeB on AOS 5.1 I cannot get the samba configuration to work when adding a user.  So I use the WSeB on ECS machine to make a configuration and transfer that the WSeB on AOS machine.  You probably wont have that issue if you are running a "pure" WSeB install.

The other issue I have found with samba is it gets very unhappy when transferring a very large set (number of) of files - like for instance backing up the entire C drive by copying the individual files over.  It works fine if those same files are zipped into one large file and that large file is copied across the network.  This is not an issue with WSeB.

4
Programming / Re: An XWorkplace CPU Temperature Widget for AMD CPUs
« on: March 31, 2025, 05:24:37 am »
Lars,

I tried your new version and it doesn't work on my processor.  Thank you for trying.

The cpu temperature widget contained in standard xcenter monitor.dll also doesn't work.  I think I saw somewhere that ACPI on this machine does not report temperature in the proper way - and my memory was I saw that in the acpid log file - but I turned logging back on and now can't find that message.  So maybe I am mis-remembering this.

This is only a 6 core processor, with the factory cooler for the processor, in a desktop case with good ventilation.  I am not too worried about excessive processor temperatures.  I don't compile large projects, like Dave or Jack.  I have a wattage meter on the machine and the highest consumption spike I have seen is 120 watts - and that is during bootup.

Thanks again Lars for your work on this, and all the other projects you have done for OS/2.

5
Programming / Re: An XWorkplace CPU Temperature Widget for AMD CPUs
« on: March 29, 2025, 05:45:52 pm »
Lars,

there is no log file for xwplug.log - in c:\var\log\xwplug.log
or in e:\var\log\

my unixroot is set to e:

I am running a Ryzen 5 5600x

I should add that cputemp runs with the following output:

AMD CPU: Family:0x19, Model:0x01, Local APIC:0x01
MMIO Configuration Base Address:0x00000000F0000000
Temperature core 0 (0x00000000):0.00 °C

So maybe the widget wouldn't show the temperature, based on the above output, even it it was installed in xCenter

6
Programming / Re: An XWorkplace CPU Temperature Widget for AMD CPUs
« on: March 29, 2025, 12:11:51 am »
Lars,

I downloaded and ran cputemp.wpi and it doesn't show up in the "create a new widget" popup menu.  cputamd.dll and cputamd.sys are in
c:\sys\apps\xwps\plugins\xcenter 

The cputamd.dll also doesn't show up on the "Classes" page on the xcenter properties

Isn't xCenter supposed to pick up all the widget DLLs that are in c:\sys\apps\xwps\plugins\xcenter ?

Thanks

Doug

7
Programming / Re: stopping cpus
« on: March 02, 2025, 06:47:02 am »
Thanks again guys - Tom, Dave, Darius.

When running ACPISTAT my Ryzen 5/MSI motherboard shows no thermal information available, while the Intel i5 8th gen/HP machine does shows thermal information.  The Ryzen also doesn't support throttling or performance control; the i5 supports throttling.

I am curious Darius what ACPISTAT shows on your Ryzen.




8
Programming / Re: stopping cpus
« on: March 01, 2025, 08:52:46 pm »
Thank you everyone for your responses. 

What utility are you using to get real-time temperatures of the processors?


9
Programming / Re: stopping cpus
« on: February 28, 2025, 06:20:29 am »
1 - the /MAXCPU=1 parameter for PSD=ACPI.PSD driver in CONFIG.SYS  shuts down all processors except processor 1.   Which fixes most of my issues with Win-OS/2 programs that I have - meaning most of those programs will run correctly where they would not without this parameter.  There are still some strange problems with unusual circumstances - mostly when running Win-OS/2 install programs.  Some of those problem applications will run OK in full screen mode with multiple processors running.  Others will only run with /MAXCPU=1.

When /MAXCPU=1 is used with ACPI.PSD only processor 1 is is reported as online with DosGetProcessorStatus().
Attempting to turn on any processor with DosSetProcessorStatus()  when /MAXCPU=1 will result in a error return code of 87 from DosSetProcessorStatus().

2 - Lars - error messages.  DosSetProcessorStatus()  APPEARS to work correctly, in that it does not return an error message if a real processor number is used.  It is just that the processor either is not turned off, or it gets turned back up by something else.  I can tell this because after turning off all processors except processor 1, when I move the window of an open application around the desktop percentages show up for the "turned off" processors in the cpu meter thingy in xCenter.

I have run MPCPUMON.EXE on a second machine (HP EliteDesk with an intel cpu running AOS 5.1 with WSeB  layered on) and basically the same thing happens - percentages show up in the cpu meter for turned off processors. 

3- Dave/Darius - I am afraid to turn off power management after reading the warnings in the ACPI docs - which basically say thermals may become a problem if you mess with power settings.  I did download the ACPI sdk and look through the documentation and I didn't see any function that seemed to address turning on or off processors.  But I might have missed something.

To summarize: 

using the /MAXCPU=1  parameter with PSD=ACPI.PSD fixes most of what ale's me with problem programs. But it requires a reboot to switch back to using multiple processors.  Reboot times with my Ryzen 5 are SLOW.

I suspect, like Darius, that either the processors aren't getting turned off, or something is turning them back on.  This appears to happen on both Ryzen and Intel processors. One using SNAP and the other using Panaroma.

While the SMP reference material from the toolkit say that DOS and Win-OS/2 programs are not affected by SMP, I know from experience that is not true.  The application itself might be single threaded only, but something in the Win-OS/2 system or PM are multithreaded.

Thanks for all the help guys.

10
Programming / Re: stopping cpus
« on: February 27, 2025, 05:40:49 pm »
Jochen - a similar concept, although for perhaps different reasons.  Quoting from a part of the SMP reference document:

--------------------------------------
...

These compatibility requirements apply only to multithreaded applications, and therefore do not apply to DOS and WINOS2 applications. However, you are strongly encouraged to write 32-bit multithreaded applications for better performance and portability on OS/2 Warp Server for SMP.

Given that there is the possibility of some set of applications which may use one of these techniques, OS/2 Warp Server for SMP provides a mechanism whereby these multithreaded applications can execute in UP mode. Only one thread of that process would be allowed to execute at any given time. That thread could execute on any one of the processors. A utility is used to mark the EXE file as uniprocessor only. OS/2 forces the process to run in the uniprocessor mode when the loader detects that the EXE file has been marked as uniprocessor only. See View and Set Program Type For Executable File (MARKEXE).
--------------------------

Using MARKEXE in OS/2 looks to be somewhat similar to setting processor affinity in Windows.  However I question whether whether OS/2 is honoring the uniprocessor setting in the executable.

I do know that using the /MAXCPU=1 parameter with PSD=ACPI will allow some Win-OS/2 programs to run correctly that will not run without the /MAXCPU=1 setting. So perhaps that parameter is doing more than addressing "one of these techniques" the above quote is referencing. 

The "one of these techniques" from the quote are basically some CPU instructions and techniques that wont work with multiple CPUs.  The processor affinity in windows seems to be aimed at performance issues rather than compatibility issues - some programs run faster with fewer processors.

11
Programming / Re: stopping cpus
« on: February 27, 2025, 05:01:17 pm »
There are some OS/2 programs, and some Win-OS/2 programs, that do not run well, or at all, when multiple CPUs are enabled, but will run when the system is limited to using a single processor.  The AOS installer is apparently one of those:  the installer program turns off multiple CPUs when it starts.

You can limit the number of CPUs, or processors, used by AOS with the /MAXCPU=1  parameter to the PSD=ACPI.PSD line in CONFIG.SYS.  However this must be done on boot up and that limitation, or setting, remains in effect until another reboot.  I believe this is what the AOS installer does.

It would be nice to be able to turn off and turn on processors as needed.  That way I could turn off all the processors except the main one when running one of those programs, and turn the additional processors back on when the program is done running - without rebooting.  Which is what DosSetProcessorStatus() is supposed to do.

I should add here that I am testing this on a system with a Ryzen 5 processor and the compatibility/legacy support enabled.  I have not tried this on a system with an Intel processor yet.

I should also add that DosSetProcessorStatus() and DosGetProcessorStatus() appear to work, in that they return an error code if I try to set or get the status of a processor that doesn't exist - like processor 7 on my 6 processor Ryzen.  But they don't actually turn off any processors, according to the CPU meter.




 

12
Programming / Stopping CPUs
« on: February 27, 2025, 04:44:42 am »
I am trying to stop/disable cpus programmatically.  I am calling


DosSetProcessorStatus(cpuNum,0);

Which returns with an error message.  However the cpu is not turned off or stopped.  Is there something else I have to do in addition to calling this function, or should I be calling another function?  Or is it even possible to stop one or more cpus after boot up.

Thanks in advance

13
Applications / Re: hobbesarchive.com FTP
« on: February 14, 2025, 03:59:20 pm »
Perfect!

Thanks for pointing out the obvious - which I probably would never noticed on my own.

14
Applications / Re: hobbesarchive.com FTP
« on: February 13, 2025, 04:34:30 pm »
So how does one upload to Hobbes?

I just downloaded cadaver and tried to connect to hobbesarchive.com and was not successful.

15
Multimedia / Re: uniaud.dll test
« on: February 05, 2025, 05:47:13 am »
Thanks

Pages: [1] 2 3 ... 25