home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 15 Message / 15-Message.zip / UU991016.zip / Uh991015.txt < prev    next >
Text File  |  1999-10-16  |  127KB  |  3,315 lines

  1.  
  2.                    comp.os.os2.programmer.misc      (Usenet)
  3.  
  4.                  Saturday, 09-Oct-1999 to Friday, 15-Oct-1999
  5.  
  6. +----------------------------------------------------------------------------+
  7.  
  8. From: abuse@orac.clara.co.uk                            09-Oct-99 00:47:21
  9.   To: All                                               09-Oct-99 04:16:19
  10. Subj: Re: Debugger terminates program by PM Resource Interlock message.
  11.  
  12. From: abuse@orac.clara.co.uk (Paul Ratcliffe)
  13.  
  14. On Fri, 08 Oct 1999 07:55:19 +0200, Jasper de Keijzer
  15. <jasper_de_keijzer@nl.compuware.com> wrote:
  16.  
  17. >These kind of problems are happening when the debugging mode is
  18. >asynchronous. Make it synchrone!
  19.  
  20. I made it synchronous months if not years ago. It still happens.
  21.  
  22. --- WtrGate+ v0.93.p7 sn 165
  23.  * Origin: Usenet: The Floppy BBS (1:109/42)
  24.  
  25. +----------------------------------------------------------------------------+
  26.  
  27. From: nospamless@home.com                               09-Oct-99 03:13:25
  28.   To: All                                               09-Oct-99 11:03:24
  29. Subj: Re: Generic WinOS/2 audio driver revisited
  30.  
  31. From: "∙g╧H" <nospamless@home.com>
  32.  
  33. In <37FE4DBE.2111@ican.net>, on 10/08/99 
  34.    at 08:02 PM, Peter Fitzsimons <pfitz@ican.net> said:
  35.  
  36. >The CS4280 card's drivers seem to do what you want already -- some sort of
  37. >generic connection between winos2 and os/2.
  38.  
  39. >There's an outside chance this part of the drivers will work for a non-CS
  40. >card. Here's part of the readme:
  41.  
  42. Don't bother doing that... Crystal Semi's device driver programmer already
  43. implemented several hardware in their Win-OS/2 driver... After all, they are
  44. not paid to make driver on hardware they don't sell... (Unlike Scitech... :)
  45. )
  46.  
  47. -- 
  48. ===Team OS/2, Team OS/2 at Taiwan, ICE News Beta Tester. Bovine Team===
  49. ======Warped Key Crucher, And OS/2 ISP CD Project Member. TBA  #3======
  50.  
  51.      Owner of PC End User Web Site       http://www.pcenduser.com/
  52.  
  53.       Java 1.1.7 - MR/2 ICE REG#:10510 - OS/2 T-Warp Connect 4.0
  54.                             ICQ# = 8943567
  55.  
  56. --- WtrGate+ v0.93.p7 sn 165
  57.  * Origin: Usenet: @Home Network Canada (1:109/42)
  58.  
  59. +----------------------------------------------------------------------------+
  60.  
  61. From: rjerant@no_spam,austin.rr.com                     09-Oct-99 04:31:24
  62.   To: All                                               09-Oct-99 11:03:25
  63. Subj: Re: Generic WinOS/2 audio driver revisited
  64.  
  65. From: rjerant@no_spam,austin.rr.com (Rich Jerant)
  66.  
  67. On Fri, 08 Oct 1999 20:02:07 GMT, Peter Fitzsimons <pfitz@ican.net>
  68. wrote:
  69.  
  70. >The CS4280 card's drivers seem to do what you want already -- some sort
  71. >of generic connection between winos2 and os/2.
  72. >
  73. >There's an outside chance this part of the drivers will work for a
  74. >non-CS card. Here's part of the readme:
  75. >
  76. Trust me in this.. Joe Nord at Cirrrus Logic is a VERY BRIGHT man. He
  77. has assured me that his Win-OS/2  support will only work with Cirrus
  78. Logic hardware. I've worked with Joe and if he says that's how it
  79. works you can take that to the bank. 
  80.  
  81. Rich
  82.  
  83. --- WtrGate+ v0.93.p7 sn 165
  84.  * Origin: Origin Line 1 Goes Here (1:109/42)
  85.  
  86. +----------------------------------------------------------------------------+
  87.  
  88. From: rjerant@no_spam,austin.rr.com                     09-Oct-99 04:51:01
  89.   To: All                                               09-Oct-99 11:03:25
  90. Subj: Re: Generic WinOS/2 Question
  91.  
  92. From: rjerant@no_spam,austin.rr.com (Rich Jerant)
  93.  
  94. On Fri, 08 Oct 1999 12:59:19 -0400, "David T. Johnson"
  95. <djohnson@isomedia.com> wrote:
  96.  
  97. >Thanks for replying here.  I have used the generic win-os2 driver with
  98. >the Aureal PCI Vortex 1 chipset.  When you install the generic win-os2
  99. >driver, it gives you the windows system sounds and so forth with no
  100. >problem.  Naturally, I had to try the RealPlayer 5.0 with the generic
  101. >win-os2 driver.  When you launch RealPlayer 5.0, the sound comes out for
  102. >about 10 seconds (excellent quality I might add) and then...it stops. 
  103. >If you move the slider forward, it will play another 10 seconds and then
  104. >stop.  Do you have any idea why this happens?  The driver seems...that
  105. >close! to working, but does not. 
  106. >
  107. Yes unfortunatly the Generic Win-OS/2 stuff has a few problems that I
  108. didn't understand untill recently. First it does not handle several of
  109. the windows messages corrrectly... Hey we were OS/2 programmers what
  110. did you expect ! Secondly it has 2 or 3 really stupid design flaws
  111. that tend to confuse both the client multimedia app and mmsystem.dll.
  112. And finally this whole setup is particularly sensitive to how Win-OS/2
  113. is configured on the system it is running on. So your assesment seems
  114. correct, close but no cigar....
  115.  
  116. Rich
  117.  
  118. --- WtrGate+ v0.93.p7 sn 165
  119.  * Origin: Origin Line 1 Goes Here (1:109/42)
  120.  
  121. +----------------------------------------------------------------------------+
  122.  
  123. From: News@The-Net-4U.com                               09-Oct-99 08:01:08
  124.   To: All                                               09-Oct-99 11:03:25
  125. Subj: Re: System area on HPFS drive
  126.  
  127. From: News@The-Net-4U.com (M.P. van Dobben de Bruijn)
  128.  
  129. > "Mike Ruskai" <thannymeister@spambegone.yahoo.com> wrote:
  130.  
  131. > Anyone know how to query the size of the system area on an HPFS drive?
  132.  
  133. Noticed that no-one here was able to help you yet, at least my ISP
  134. did not show any answers. So pondering over it during the coffee-
  135. break I suddenly realised that (depending on what you want to use
  136. it for I suppose) Chris Graham of the Graham Utilities sure must know
  137. a lot about this and willing to share that. Otherwise somebody at IBM
  138. may be able to point you directly to the relevant documents in the Dev-
  139. eloper Connection, I am almost sure that info will be hidden there online.
  140.  
  141. Regards from Leeuwarden
  142. Peter van Dobben de Bruijn
  143. ---
  144. usethenet.at.the-net-4u.com (at becomes @)
  145. ----
  146.  
  147. --- WtrGate+ v0.93.p7 sn 165
  148.  * Origin: Usenet: TeleKabel (1:109/42)
  149.  
  150. +----------------------------------------------------------------------------+
  151.  
  152. From: chris@slave.demon.co.uk                           09-Oct-99 16:27:10
  153.   To: All                                               09-Oct-99 14:41:27
  154. Subj: VisAge 3 C++ lost use of Editor in Project Menu from Debugger. Help!
  155.  
  156. From: Chris Hodgkins <chris@slave.demon.co.uk>
  157.  
  158. On a Warp 4 box with fix pack 11 applied and Visual Age C++ 3 with Fix
  159. pack 8 I've lost the use of the Editor from the Project menu in the
  160. Debugger.
  161. I get access violations when I select this from the menu or double left
  162. click on white space to launch the editor to the specific code that I'm
  163. debugging at that time.
  164. FWIW The Context help Cntrl-H from the Debugger has stopped working as
  165. well. It moans about not finding the ndx files in the dpath or bookshelf
  166. paths. However the paths are correct on config.sys, and the Editor finds
  167. theme when I use context help from there.
  168.  
  169. Has anyone seen this before? Is there an easy fix or should I Zap VisAge
  170. 3 and re-install?
  171.  
  172. cheers
  173. -- 
  174. Chris Hodgkins. S.S.D. UK.  Tele:+44 780 273 4036  Fax:+44 870 055 8984 
  175. PGP key sent on demand E-mail pgp@slave.demon.co.uk 
  176. PGP Fingerprint20 = 1BFB CBC4 F3F8 6396 5DD6  E64D E155 8139 291B 14B4
  177.  
  178. --- WtrGate+ v0.93.p7 sn 165
  179.  * Origin: Origin Line 1 Goes Here (1:109/42)
  180.  
  181. +----------------------------------------------------------------------------+
  182.  
  183. From: lamikr@cc.jyu.fi                                  10-Oct-99 00:08:28
  184.   To: All                                               09-Oct-99 19:56:26
  185. Subj: Re: Generic WinOS/2 audio driver revisited
  186.  
  187. From: lamikr <lamikr@cc.jyu.fi>
  188.  
  189. > Thanks for the info, guys - but this is not really the information I was
  190. > looking for here.
  191.  
  192. Sorry that I can't help. But I can just say (and hope)
  193. GO FOR IT!!! I bought today Vortex card which is using 8820.
  194. Works fine in OS/2 if I have not installed voice-type.
  195. (Voice type seems to hang it just before desktop is appearing,
  196. same happened earlier with gravis ultrasound drivers)
  197.  
  198. Anyway, sound quality seems to be really good.
  199.  
  200. Mika
  201.  
  202.  
  203.  
  204.  
  205. --- WtrGate+ v0.93.p7 sn 165
  206.  * Origin: Usenet: University of Jyvaskyla, Finland (1:109/42)
  207.  
  208. +----------------------------------------------------------------------------+
  209.  
  210. From: leifel@online.no                                  10-Oct-99 12:30:20
  211.   To: All                                               10-Oct-99 10:22:27
  212. Subj: VAC++ 4.0 and Dos16MemAvail
  213.  
  214. From: "Leif-Erik Larsen" <leifel@online.no>
  215.  
  216. Hi!
  217.  
  218. I know VAC++ 4.0 does not support calling 16 bit API's
  219. like Dos16MemAvail(). Do you know if OS/2 has some 
  220. other API, then, that I can use instead of Dos16MemAvail?
  221.  
  222. Regards
  223. Leif-Erik Larsen
  224.  
  225.  
  226.  
  227. --- WtrGate+ v0.93.p7 sn 165
  228.  * Origin: Usenet: Telenor Online Public Access (1:109/42)
  229.  
  230. +----------------------------------------------------------------------------+
  231.  
  232. From: thannymeister@spambegone.yahoo.com                10-Oct-99 12:27:23
  233.   To: All                                               10-Oct-99 16:28:10
  234. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  235.  
  236. From: "Mike Ruskai" <thannymeister@spambegone.yahoo.com>
  237.  
  238. On Sun, 10 Oct 1999 12:30:40 +0100 (CET), Leif-Erik Larsen wrote:
  239.  
  240. >Hi!
  241. >
  242. >I know VAC++ 4.0 does not support calling 16 bit API's
  243. >like Dos16MemAvail(). Do you know if OS/2 has some 
  244. >other API, then, that I can use instead of Dos16MemAvail?
  245.  
  246. I don't see why it wouldn't support calling 16-bit API's.  Just because some
  247. bonehead decided to remove them from the headers doesn't mean you can't use
  248. them.  After all, it's a matter of OS/2 functionality, not that of the
  249. compiler.  To use Dos16MemAvail(), do this:
  250.  
  251. APIRET16 APIENTRY16 Dos16MemAvail(PULONG fMem);
  252.  
  253. #pragma import(Dos16MemAvail, "", "DOSCALLS", 127)
  254.  
  255. After that, you shouldn't have any problems using the API call.
  256.  
  257. And finally, no, there is not 32-bit API equivalent.  Apparently IBM didn't
  258. think anyone would want to query the amount of physical memory free from a
  259. 32-bit-only program.
  260.  
  261.  
  262. --
  263.  - Mike
  264.  
  265. Remove 'spambegone' to send e-mail.
  266.  
  267.  
  268. --- WtrGate+ v0.93.p7 sn 165
  269.  * Origin: Usenet: TLF (1:109/42)
  270.  
  271. +----------------------------------------------------------------------------+
  272.  
  273. From: @tin.it                                           10-Oct-99 08:37:12
  274.   To: All                                               11-Oct-99 10:31:04
  275. Subj: DosSubAllocMem
  276.  
  277. From: @tin.it (Alessandro Cantatore)
  278.  
  279. I have found no reference about how to use the DosSubAllocMem() API
  280. when accessing the same heap from multiple threads...
  281. The documentation says that the flag DOSSUB_SERIALIZE in DosSubSetMem()
  282. is for shared memory pools, but there is nothing about accessing to
  283. the same heap from different threads of the same process...
  284. Just to be sure I used mutex semaphores to serialize every access
  285. to DosSubAllocMem(), DosSubFreeMem() and DosSubUnsetMem()... is that
  286. right or is an overkill?
  287.  
  288. BTW I'm not using the library functions (malloc) because I'm building
  289. a subsystem DLL and in any case, in a test where I created a fragmented
  290. heap allocating and freeing at random, random sizes of memory, using
  291. DosTmrQueryTime() to check the average time employed on the calls,
  292. I found that the performance difference is not great while DosSubAllocMem()
  293. use memory in a much more efficient and compact way than the subsystem
  294. C library malloc and do DosSubUnsetMem() is much more effective in releasing
  295. memory than _heapmin()
  296.  
  297.  
  298. -- 
  299. bye
  300. Alessandro Cantatore
  301. email reply to: alexcant at: tin.it
  302. http://acsoft.ghostbbs.cx
  303.  
  304. --- WtrGate+ v0.93.p7 sn 165
  305.  * Origin: Usenet: TIN (1:109/42)
  306.  
  307. +----------------------------------------------------------------------------+
  308.  
  309. From: @tin.it                                           10-Oct-99 08:42:19
  310.   To: All                                               11-Oct-99 10:31:04
  311. Subj: Lotus Organizer
  312.  
  313. From: @tin.it (Alessandro Cantatore)
  314.  
  315. Hi
  316.  
  317. I got a report that an application I'm developing causes a system
  318. crash when it is running alongside Lotus Organizer...
  319. I borrowed the smartsuite from a friend of mine (I cannot buy it
  320. just to make a few tests) and installed it on a test partition
  321. where I discovered that a strange control, used to set time intervals,
  322. (class TIMETRACKER) sets SV_POINTERLEVEL to 0xffff.
  323.  
  324. The SV_POINTERLEVEL variable is used by the system to keep track
  325. of the visibility of the mouse pointer.
  326. The Presentation Manager Programming Guide and Reference says that
  327. each call to WinShowPointer(FALSE) increases by 1 the value of
  328. SV_POINTERLEVEL and each call to WinShowPointer(TRUE) decreases it by 1.
  329. According to the documentation there is no other way to change the
  330. value. Calling directly WinSetSysValue() has no effect on the value
  331. of SV_POINTERLEVEL.
  332.  
  333. I do not know if this is a bug or a "feature".
  334. I cannot see any reason for a program to do that.
  335. The variable gets this odd value only after a mouse button
  336. is pressed upon the TIMETRACKER class window and then when the
  337. TIMETRACKER window is dismissed the value remains 0xffff.
  338. If I shift focus to a window of a different application SV_POINTERLEVEL
  339. is still 0xffff (and the mouse pointer is visible, while it should
  340. be visible only when SV_POINTERLEVEL is 0).
  341. Only when the Lotus Organizer itself is terminated the value goes
  342. back to 0, so I suspect it is due to a memory leak which overwrites
  343. some area of shared memory rather than an intended hack...
  344.  
  345. I found a workaround but I wonder if there is any hope that lotus
  346. would ever fix this...
  347. Does anybody know an email address for reporting bugs to the lotus
  348. developers?
  349.  
  350. -- 
  351. bye
  352. Alessandro Cantatore
  353. email reply to: alexcant at: tin.it
  354. http://acsoft.ghostbbs.cx
  355.  
  356. --- WtrGate+ v0.93.p7 sn 165
  357.  * Origin: Usenet: TIN (1:109/42)
  358.  
  359. +----------------------------------------------------------------------------+
  360.  
  361. From: jknott@ibm.net                                    10-Oct-99 10:13:21
  362.   To: All                                               11-Oct-99 14:43:20
  363. Subj: Re: Warp 3 and Y2K
  364.  
  365. From: jknott@ibm.net (James Knott)
  366.  
  367. In article <Pine.SUN.3.96.991006055157.14118C-100000@compass.OregonVOS.net>,
  368. Pat Pridgen <ppridgen@OregonVOS.net> wrote:
  369. >On Wed, 6 Oct 1999, James Knott wrote:
  370. >
  371. >> It is not supported.  Only Warp 3 & 4 have updates for Y2K.
  372. >
  373. >What would I need to get to make Warp 3 y2k compliant
  374.  
  375. Install the latest fixpaks.
  376.  
  377. -- 
  378. E-mail jknott@ca.ibm.com
  379. _________________________________________________________________________
  380. The above opinions are my own and not those of ISM Corp., a subsidiary of
  381. IBM Canada Ltd.
  382.  
  383. --- WtrGate+ v0.93.p7 sn 165
  384.  * Origin: Usenet: Global Network Services - Remote Access Mail & Ne
  385. (1:109/42)
  386.  
  387. +----------------------------------------------------------------------------+
  388.  
  389. From: seg@NOSPAM-us.ibm.com                             11-Oct-99 09:21:03
  390.   To: All                                               11-Oct-99 14:43:20
  391. Subj: Re: DosSubAllocMem
  392.  
  393. From: "Scott E. Garfinkle" <seg@NOSPAM-us.ibm.com>
  394.  
  395. On Sun, 10 Oct 1999 08:37:24 +0100, Alessandro Cantatore wrote:
  396.  
  397. >The documentation says that the flag DOSSUB_SERIALIZE in DosSubSetMem()
  398. >is for shared memory pools, but there is nothing about accessing to
  399. >the same heap from different threads of the same process...
  400. >Just to be sure I used mutex semaphores to serialize every access
  401. >to DosSubAllocMem(), DosSubFreeMem() and DosSubUnsetMem()... is that
  402. >right or is an overkill?
  403. It is mandatory to serialize it, either yourself or with DOSSUB_SERIALIZE.
  404. Otherwise I guarantee that you will eventually have heap corruption. This
  405. applies whether the "sharing" is between threads of the same or different
  406. process and whether it is "shared" or "private" memory.
  407.  
  408.  
  409. --- WtrGate+ v0.93.p7 sn 165
  410.  * Origin: Usenet: NCSD OS/2 Service (1:109/42)
  411.  
  412. +----------------------------------------------------------------------------+
  413.  
  414. From: seg@NOSPAM-us.ibm.com                             11-Oct-99 09:18:29
  415.   To: All                                               11-Oct-99 14:43:20
  416. Subj: Re: Debugger terminates program by PM Resource Interlock message.
  417.  
  418. From: "Scott E. Garfinkle" <seg@NOSPAM-us.ibm.com>
  419.  
  420. A colleague of mine suggests that you may not be at the latest possible
  421. debugger fix level. Supposedly, he helped the VisualAge team come up with a
  422. solution for this.
  423.  
  424.  
  425. --- WtrGate+ v0.93.p7 sn 165
  426.  * Origin: Usenet: NCSD OS/2 Service (1:109/42)
  427.  
  428. +----------------------------------------------------------------------------+
  429.  
  430. From: blaschke@us.ibm.com                               11-Oct-99 09:57:10
  431.   To: All                                               11-Oct-99 14:43:20
  432. Subj: Re: Session Manager, what the heck is it doing?
  433.  
  434. From: Dave Blaschke <blaschke@us.ibm.com>
  435.  
  436.  
  437. doug@hotrocks.msfc.nasa.gov wrote:
  438.  
  439. > Dave Blaschke wrote:
  440. > >
  441. > > doug@hotrocks.msfc.nasa.gov wrote:
  442. > >
  443. > > > Can someone please tell me the significance of the message:
  444. > > >
  445. > > > "RC:457 The Session Manager cannot start the process in the foreground.
  446. > > > It will be started in the background."
  447. > >
  448. > > Looks to me like the only ways an application can get this error are:1) A
  449. > > popup is in progress during the DosStartSession call.
  450. > > 2) The DosStartSession requester is not a member of the session currently
  451. in
  452. > > the foreground.
  453. > >
  454. >
  455. > By Jove, after a bunch of work and a bit of thought I think #2 may be
  456. > it!  Thank you.  I wonder if there is some way to suppress this
  457. > behavior.
  458.  
  459. Well, you could try calling DosSelectSession immediately prior to calling
  460. DosStartSession, but there is no guarantee that somebody else will become the
  461. foreground session before you DosStartSession call completes...
  462.  
  463. >
  464. >
  465. > Doug
  466.  
  467.  
  468.  
  469. --- WtrGate+ v0.93.p7 sn 165
  470.  * Origin: Usenet: IBM Austin (1:109/42)
  471.  
  472. +----------------------------------------------------------------------------+
  473.  
  474. From: djohnson@isomedia.com                             11-Oct-99 10:42:06
  475.   To: All                                               11-Oct-99 17:05:22
  476. Subj: Re: Generic WinOS/2 audio driver revisited
  477.  
  478. From: "David T. Johnson" <djohnson@isomedia.com>
  479.  
  480.  
  481.  
  482. Peter Fitzsimons wrote:
  483. > > > If you're really desperate to free up an ISA slot, you might try a
  484. > > > CS4280 based card.
  485. > > >
  486. > > > This is the one I bought:
  487. > > >
  488. > > >  http://www.axiontech.com/cgi-local/noinfo.asp?sogncrs4280
  489. > > >
  490. > > > and don't be fooled by all the talk about "3d" and "wavetable". These
  491. > > > can only be implemented with software (poorly) with this card.
  492. > >
  493. > > The PCI cards which use the Aureal 8820 Vortex 1 chipset work very well
  494. > > under OS/2.  MP3s and digital recording are very good.  IMO, this is the
  495. > > best OS/2 sound solution presently available.  The OS/2 drivers do not
  496. > > support sound in Win-OS2.  If you really need this, I would recommend a
  497. > > second ISA card just for the Win-OS2 sound and use the Aureal for the
  498. > > OS/2 sound.  It is that good.  Or just skip the Win-OS2 sound...
  499. > The 4280 card I bought does support Win-os2 (not for midi tho), in quite
  500. > a clever way -- it feeds the data to an OS/2 daemon process which plays
  501. > the sound via mmos2 -- so the sound card is always available to os/2
  502. > apps.
  503. > Do you have a URL for a card based on the Vortex chip you mentioned?
  504.  
  505. I found four Vortex 1 8820-based cards that are available retail
  506. at CompUSA stores.  I have also listed the CompUSA SKU# and the retail
  507. price.  This is from March, 1999 so it might be out-of-date. 
  508.  
  509.       1. "Magic Wave A3D Audio Accelerator PCI" by I/O Magic. SKU#
  510. 195304 $39.99
  511.  
  512.       2. "Diamond Sonic Impact S90" by Diamond Multimedia. SKU# 216601
  513. $49.99 
  514.  
  515.       3. "HiVal PCI 338 A3D Sound Card" SKU# 192299 $49.99
  516.  
  517.       4. "Montego A3D Xstream" by Turtle Beach. SKU# 192288. $49.99
  518.  
  519. --- WtrGate+ v0.93.p7 sn 165
  520.  * Origin: Usenet: Posted via Supernews, http://www.supernews.com (1:109/42)
  521.  
  522. +----------------------------------------------------------------------------+
  523.  
  524. From: djohnson@isomedia.com                             11-Oct-99 10:44:22
  525.   To: All                                               11-Oct-99 17:05:22
  526. Subj: Re: Generic WinOS/2 audio driver revisited
  527.  
  528. From: "David T. Johnson" <djohnson@isomedia.com>
  529.  
  530.  
  531.  
  532. lamikr wrote:
  533. > > Thanks for the info, guys - but this is not really the information I was
  534. > > looking for here.
  535. > Sorry that I can't help. But I can just say (and hope)
  536. > GO FOR IT!!! I bought today Vortex card which is using 8820.
  537. > Works fine in OS/2 if I have not installed voice-type.
  538. > (Voice type seems to hang it just before desktop is appearing,
  539. > same happened earlier with gravis ultrasound drivers)
  540.  
  541. I have an Aureal 8820-based PCI sound card and Voicetype works fine. 
  542. This might be a problem with your voicetype install.  I suggest a
  543. selective uninstall of voicetype and then a selective install.  
  544.  
  545.  
  546. > Anyway, sound quality seems to be really good.
  547. > Mika
  548.  
  549. --- WtrGate+ v0.93.p7 sn 165
  550.  * Origin: Usenet: Posted via Supernews, http://www.supernews.com (1:109/42)
  551.  
  552. +----------------------------------------------------------------------------+
  553.  
  554. From: marco.shaw@nbtel.nb.ca                            11-Oct-99 20:27:01
  555.   To: All                                               11-Oct-99 19:55:28
  556. Subj: HOWTO:  chat scripts?
  557.  
  558. From: "Marco Shaw" <marco.shaw@nbtel.nb.ca>
  559.  
  560. I'm new to OS/2 admin.  I need to develop a script that gets files newer
  561. than x date, and FTPs all these files to an FTP server, and this must be
  562. done every 4 hours.
  563.  
  564. What kind of scheduling mechanism does OS/2 (Warp 4) have?  Would it be best
  565. to use DOS batch scripts to do the above?  Since I don't know anything about
  566. REXX...
  567.  
  568. Thanks,
  569. Marco
  570.  
  571.  
  572. --- WtrGate+ v0.93.p7 sn 165
  573.  * Origin: Usenet: NBTel Internet (1:109/42)
  574.  
  575. +----------------------------------------------------------------------------+
  576.  
  577. From: bvermo@powertech.no                               11-Oct-99 21:00:06
  578.   To: All                                               11-Oct-99 19:55:29
  579. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  580.  
  581. From: =?iso-8859-1?Q?Bj=F8rn?= Vermo <bvermo@powertech.no>
  582.  
  583. Mike Ruskai wrote:
  584.  
  585. >
  586. > And finally, no, there is not 32-bit API equivalent.  Apparently IBM didn't
  587. > think anyone would want to query the amount of physical memory free from a
  588. > 32-bit-only program.
  589. >
  590.  
  591. There is no 32-bit equivalent because the flat 32-bit model does not have
  592. segments.
  593.  
  594. It looks like you believe that  DosMemAvail will report something useful under
  595. OS/2 2.x. It does not. It will report the size of the largest un-allocated
  596. memory segment in the system under OS/2 1.x, but under 32-bit OS/2 it is
  597. mostly
  598. a dummy function as long as the system is not out of virtual memory.
  599.  
  600. An API to report 'free' physical memory would not make much sense. In a
  601. multitasking virtual-storage operating system, there should never be any free
  602. (unused) physical memory if the system is working correctly.
  603.  
  604.  
  605. --- WtrGate+ v0.93.p7 sn 165
  606.  * Origin: Usenet: Norbionics (1:109/42)
  607.  
  608. +----------------------------------------------------------------------------+
  609.  
  610. From: xmrmbq@heal.com                                   11-Oct-99 20:55:07
  611.   To: All                                               11-Oct-99 19:55:29
  612. Subj: Just a good advice  4110
  613.  
  614. From: xmrmbq@heal.com
  615.  
  616. fhtcejwwoublyrjufhpyhoqpjsgudmwil
  617.  
  618.  
  619.  
  620. --- WtrGate+ v0.93.p7 sn 165
  621.  * Origin: Usenet: Thyssen Informatik GmbH (1:109/42)
  622.  
  623. +----------------------------------------------------------------------------+
  624.  
  625. From: abuse@orac.clara.co.uk                            12-Oct-99 00:47:06
  626.   To: All                                               12-Oct-99 05:53:23
  627. Subj: Re: HOWTO:  chat scripts?
  628.  
  629. From: abuse@orac.clara.co.uk (Paul Ratcliffe)
  630.  
  631. On Mon, 11 Oct 1999 20:27:02 GMT, Marco Shaw <marco.shaw@nbtel.nb.ca> wrote:
  632.  
  633. >I'm new to OS/2 admin.  I need to develop a script that gets files newer
  634. >than x date, and FTPs all these files to an FTP server, and this must be
  635. >done every 4 hours.
  636.  
  637. You need REXX and a library package called RxSock. This all comes with Warp 4.
  638.  
  639. >What kind of scheduling mechanism does OS/2 (Warp 4) have?
  640.  
  641. It doesn't, but there is a choice of Cron-like utilties on Hobbes which will
  642. do the job.
  643.  
  644. >Would it be best to use DOS batch scripts to do the above?
  645.  
  646. No.
  647.  
  648. >Since I don't know anything about REXX...
  649.  
  650. An ideal opportunity to learn then. My homepages are maintained automatically
  651. by such a system as you describe - whatever I change here automatically gets
  652. uploaded to the server whenever I connect.
  653.  
  654. --- WtrGate+ v0.93.p7 sn 165
  655.  * Origin: Usenet: The Floppy BBS (1:109/42)
  656.  
  657. +----------------------------------------------------------------------------+
  658.  
  659. From: abuse@orac.clara.co.uk                            12-Oct-99 00:47:07
  660.   To: All                                               12-Oct-99 05:53:23
  661. Subj: Re: Debugger terminates program by PM Resource Interlock message.
  662.  
  663. From: abuse@orac.clara.co.uk (Paul Ratcliffe)
  664.  
  665. On Mon, 11 Oct 1999 09:18:58 -0500 (CDT), Scott E. Garfinkle
  666. <seg@NOSPAM-us.ibm.com> wrote:
  667.  
  668. >A colleague of mine suggests that you may not be at the latest possible
  669. >debugger fix level. Supposedly, he helped the VisualAge team come up with a
  670. >solution for this.
  671.  
  672. If there is anything newer than VAC++ fixpack 8, then maybe I'm not, but
  673. otherwise I definitely am. Unless of course it installs something on the OS
  674. partition.... I have changed from W3 to W4 since applying the fixpack.
  675.  
  676. --- WtrGate+ v0.93.p7 sn 165
  677.  * Origin: Usenet: The Floppy BBS (1:109/42)
  678.  
  679. +----------------------------------------------------------------------------+
  680.  
  681. From: Jan.Danielsson@falun.mail.telia.com               12-Oct-99 13:10:08
  682.   To: All                                               12-Oct-99 16:57:25
  683. Subj: Re: DosSubAllocMem
  684.  
  685. From: "Jan Danielsson" <Jan.Danielsson@falun.mail.telia.com>
  686.  
  687. >I have found no reference about how to use the DosSubAllocMem() API
  688. >when accessing the same heap from multiple threads...
  689. >The documentation says that the flag DOSSUB_SERIALIZE in DosSubSetMem()
  690. >is for shared memory pools, but there is nothing about accessing to
  691. >the same heap from different threads of the same process...
  692.  
  693. Just call DosSubAllocMem(). A system wide semaphore is created by
  694. DosSubSetMem() if you specify DOSSUB_SERIALIZE, the semaphore is
  695. automatically requested then you call DosSub(Alloc/Free)Mem().
  696.  
  697. >Just to be sure I used mutex semaphores to serialize every access
  698. >to DosSubAllocMem(), DosSubFreeMem() and DosSubUnsetMem()... is that
  699. >right or is an overkill?
  700.  
  701. Not needed, but good thinking.
  702.  
  703.  
  704.  /j
  705.  
  706.  
  707.  
  708. --- WtrGate+ v0.93.p7 sn 165
  709.  * Origin: Usenet: Telia Internet (1:109/42)
  710.  
  711. +----------------------------------------------------------------------------+
  712.  
  713. From: mads@troest.NEVERMORE.dk                          12-Oct-99 13:55:16
  714.   To: All                                               12-Oct-99 16:57:25
  715. Subj: MuxWait "turn-taking"
  716.  
  717. From: mads@troest.NEVERMORE.dk (Mads Orbesen Troest)
  718.  
  719. Hi,
  720.  
  721. I have a question regarding MuxWait semaphores. Here's the scenario:
  722.  
  723. Suppose I have a MuxWait constructed from 3 Event semaphores; the 
  724. semaphore is in "wait on any" mode.
  725. My thread is blocking on the MuxWait.
  726. Event 1 is posted, releasing the MuxWait.
  727. While doing further processing in my thread, Event 3 is posted.
  728. After making my thread wait on the MuxWait again, I reset the 
  729. processed Event 1.
  730.  
  731. My question is now: would this code ever reach the point where Event 3
  732. could be serviced, or will the MuxWait always trigger on Event 1 in 
  733. this case, Event 1 - being the first - always being checked before the
  734. others? Or is there some "turn taking" taking place so that other 
  735. semaphores are also checked?
  736.  
  737. Even if the MuxWait is posted no matter which Event was triggered, I 
  738. use the user-parameter in the service routine to find out which Event 
  739. triggered, talking corresponding action. But as indicated, I am 
  740. worried that this sceme prevents any but the first Event to be 
  741. serviced.
  742.  
  743. Thanks in advance for your enlightening words! :-)
  744.  
  745.    These were the incoherent ramblings of ...
  746.       ... /\/\\ads Orbesen Troest <mads@troest.NEVERMORE.dk>
  747.             [http://www.sprog.auc.dk/~motr96]
  748.  
  749. (Please remove NEVERMORE from address when replying via email...)
  750.  
  751. --- WtrGate+ v0.93.p7 sn 165
  752.  * Origin: Usenet: SIRIUS Cybernetics (1:109/42)
  753.  
  754. +----------------------------------------------------------------------------+
  755.  
  756. From: bvermo@powertech.no                               12-Oct-99 15:20:27
  757.   To: All                                               12-Oct-99 16:57:25
  758. Subj: Re: HOWTO: chat scripts?
  759.  
  760. From: =?iso-8859-1?Q?Bj=F8rn?= Vermo <bvermo@powertech.no>
  761.  
  762. Paul Ratcliffe wrote:
  763.  
  764. > On Mon, 11 Oct 1999 20:27:02 GMT, Marco Shaw <marco.shaw@nbtel.nb.ca> wrote:
  765. >
  766. > >I'm new to OS/2 admin.  I need to develop a script that gets files newer
  767. > >than x date, and FTPs all these files to an FTP server, and this must be
  768. > >done every 4 hours.
  769. >
  770. > You need REXX and a library package called RxSock. This all comes with Warp
  771. 4.
  772. >
  773.  
  774. It may also be useful to run SWITCHRX.CMD to change to the new Object REXX. It 
  775. has
  776. some new functions which are very useful, such as access to semaphores. It is
  777. also
  778. very fast and convenient to use the container classes (tables, arrays, queues
  779. &c)
  780. to organize the files you need to transmit.
  781.  
  782. It is easier to use the REXX ftp API if you do not need all the socket
  783. capabilities.
  784. From the online documentation:
  785.  
  786.  The REXX FTP API package is contained in the file rxftp.dll. This dynamic
  787. link
  788. library (DLL) must be placed in a
  789.  directory listed in your LIBPATH statement in your CONFIG.SYS file. To use
  790. the
  791. functions in the REXX FTP API
  792.  package, execute this REXX code:
  793.  
  794.  rc = RxFuncAdd("FtpLoadFuncs","rxFtp","FtpLoadFuncs")
  795.  rc = FtpLoadFuncs()
  796.  
  797.  To unload the DLL, you should first call the FtpDropFuncs() function, then
  798. exit
  799. all CMD.EXE shells. After exiting all
  800.  the command shells, the DLL will be dropped by OS/2 and can be deleted or
  801. replaced.
  802.  
  803.  
  804.  
  805. >
  806. > >What kind of scheduling mechanism does OS/2 (Warp 4) have?
  807. >
  808. > It doesn't, but there is a choice of Cron-like utilties on Hobbes which will
  809. > do the job.
  810. >
  811.  
  812. It certainly does! I have used the scheduler in the bonus pack for years with
  813. no
  814. problems. It will allow a wide range of different scheduling options (like
  815. every n
  816. days, third wednesday in every month, or whatever).
  817.  
  818. It is also possible to do the scheduling in REXX if it is fairly
  819. straightforward.
  820. Your batch control program can be started from the startup folder, and stay in 
  821. the
  822. background like any other daemon.
  823.  
  824. /* REXX timing loop for daily task */
  825. iScheduled = TIME('S', '22:14:00') /* Convert scheduled time 22:14 to seconds
  826. after midnight */
  827. do forever
  828.   iNow = TIME('s') /* Seconds since midnight */
  829.   iWait = iScheduled - iNow
  830.   if iWait < 0 then iWait = iWait + TIME('S', '23:59:59') /* Not until
  831. tomorrow */
  832.  
  833.   SAY 'Wait' iWait 'seconds, until' TIME('N', iScheduled, 'S')
  834.   CALL SysSleep iWait
  835.   'START /B myjob.cmd'
  836. end
  837.  
  838.  
  839. --- WtrGate+ v0.93.p7 sn 165
  840.  * Origin: Usenet: Norbionics (1:109/42)
  841.  
  842. +----------------------------------------------------------------------------+
  843.  
  844. From: thannymeister@spambegone.yahoo.com                12-Oct-99 10:52:23
  845.   To: All                                               12-Oct-99 16:57:25
  846. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  847.  
  848. From: "Mike Ruskai" <thannymeister@spambegone.yahoo.com>
  849.  
  850. On Mon, 11 Oct 1999 21:00:13 +0200, Bj rn Vermo wrote:
  851.  
  852. >Mike Ruskai wrote:
  853. >
  854. >>
  855. >> And finally, no, there is not 32-bit API equivalent.  Apparently IBM didn't
  856. >> think anyone would want to query the amount of physical memory free from a
  857. >> 32-bit-only program.
  858. >>
  859. >
  860. >There is no 32-bit equivalent because the flat 32-bit model does not have
  861. >segments.
  862. >
  863. >It looks like you believe that  DosMemAvail will report something useful
  864. under
  865. >OS/2 2.x. It does not. It will report the size of the largest un-allocated
  866. >memory segment in the system under OS/2 1.x, but under 32-bit OS/2 it is
  867. mostly
  868. >a dummy function as long as the system is not out of virtual memory.
  869. >
  870. >An API to report 'free' physical memory would not make much sense. In a
  871. >multitasking virtual-storage operating system, there should never be any free
  872. >(unused) physical memory if the system is working correctly.
  873.  
  874. Sorry, but that's complete nonsense.   Dos16MemAvail() is a perfectly useful
  875. function, and it has nothing to do with memory segments.  It reports the
  876. amount of physical memory not allocated to storage in the virtual address
  877. space.
  878.  
  879. It's a true indication of how much memory you have left to use before
  880. swapping begins.
  881.  
  882. This simple program demonstrates that fact quite aptly:
  883.  
  884. #define INCL_DOSPROCESS
  885. #include <os2.h>
  886. #include <stdio.h>
  887. #include <stdlib.h>
  888.  
  889. #pragma import(Dos16MemAvail, "", "DOSCALLS", 127)
  890. APIRET16 APIENTRY16 Dos16MemAvail(PULONG fMem);
  891.  
  892. void _Optlink DummyThread(void* args);
  893.  
  894. int main()
  895. {
  896.     ULONG freeBefore, freeAfter;
  897.     int i;
  898.  
  899.     Dos16MemAvail(&freeBefore);
  900.  
  901.     for (i=0; i<3; i++)
  902.         {
  903.         _beginthread(DummyThread, NULL, 8388608, NULL);
  904.         }
  905.  
  906.     DosSleep(5000);
  907.  
  908.     Dos16MemAvail(&freeAfter);
  909.  
  910.     DosSleep(10000);
  911.  
  912.     printf("\nFree before: %d\n\nFree after: %d\n\nDifference: %d\n",
  913.            freeBefore, freeAfter, (freeBefore-freeAfter));
  914.  
  915.     return 0;
  916. }
  917.  
  918. void DummyThread(void* args)
  919. {
  920.     char foobar[8000000];
  921.  
  922.     foobar[7999999]=1;
  923.  
  924.     DosSleep(8000);
  925. }
  926.  
  927. The difference reported will be 24 million bytes plus change - the amount of
  928. the thread stack that was committed implicitly by being used, and some
  929. housekeeping in the runtime.  Increase the loop counter's upper limit, and
  930. you get a different multiple of 8 million (provided you have enough physical
  931. memory - Dos16MemAvail() reports 512K minimum).  When I ran it with a loop of
  932. 14 threads, the difference reported was 113840128, which is fourteen times
  933. eight million plus housekeeping change.
  934.  
  935. I can't imagine why you'd think the function is useless, unless you just
  936. don't use OS/2.  Those of us who use it as our primary operating system have
  937. come to know the results of Dos16MemAvail() well, via one of many system
  938. monitors.
  939.  
  940.  
  941. --
  942.  - Mike
  943.  
  944. Remove 'spambegone' to send e-mail.
  945.  
  946.  
  947. --- WtrGate+ v0.93.p7 sn 165
  948.  * Origin: Usenet: TLF (1:109/42)
  949.  
  950. +----------------------------------------------------------------------------+
  951.  
  952. From: mads@troest.NEVERMORE.dk                          12-Oct-99 15:18:21
  953.   To: All                                               12-Oct-99 16:57:25
  954. Subj: Making a memory-block unswappable?
  955.  
  956. From: mads@troest.NEVERMORE.dk (Mads Orbesen Troest)
  957.  
  958. Hi;
  959.  
  960. Is there any way to not allow OS/2 to swap out a piece of memory 
  961. allocated by me? Thanks in advance!
  962.  
  963.    These were the incoherent ramblings of ...
  964.       ... /\/\\ads Orbesen Troest <mads@troest.NEVERMORE.dk>
  965.             [http://www.sprog.auc.dk/~motr96]
  966.  
  967. (Please remove NEVERMORE from address when replying via email...)
  968.  
  969. --- WtrGate+ v0.93.p7 sn 165
  970.  * Origin: Usenet: SIRIUS Cybernetics (1:109/42)
  971.  
  972. +----------------------------------------------------------------------------+
  973.  
  974. From: isj@dont_forget_to_remove_this.i...               11-Oct-99 18:42:00
  975.   To: All                                               12-Oct-99 16:57:25
  976. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  977.  
  978. Message sender: isj@dont_forget_to_remove_this.image.dk
  979.  
  980. From: isj@dont_forget_to_remove_this.image.dk (Ivan Skytte Joergensen)
  981.  
  982. In message <yrvsrybayvarab.fjeb740.pminews@news.online.no> - "Leif-Erik
  983. Larsen" <leifel@online.no> writes:
  984. >
  985. >Do you know if OS/2 has some 
  986. >other API, then, that I can use instead of Dos16MemAvail?
  987.  
  988. Yes, DosQuerySysInfo()
  989.  
  990. ---snip---
  991. #define INCL_DOSMISC
  992. #include <os2.h>
  993. #include <stdio.h>
  994.  
  995. void main(void) {
  996.         ULONG ul;
  997.         DosQuerySysInfo(QSV_TOTPHYSMEM,QSV_TOTPHYSMEM,&ul,sizeof(ul));
  998.         printf("Total physical memory: %lu bytes, %lu kilobytes, %lu
  999. megabytes\n", ul,ul/1024,ul/1024/1024);
  1000.  
  1001.         DosQuerySysInfo(QSV_TOTAVAILMEM,QSV_TOTAVAILMEM,&ul,sizeof(ul));
  1002.         printf("Total available memory (incl swap): %lu bytes, %lu kilobytes,
  1003. %lu megabytes\n", ul,ul/1024,ul/1024/1024);
  1004.  
  1005.         DosQuerySysInfo(QSV_TOTRESMEM,QSV_TOTRESMEM,&ul,sizeof(ul));
  1006.         printf("Total resident memory: %lu bytes, %lu kilobytes, %lu
  1007. megabytes\n", ul,ul/1024,ul/1024/1024);
  1008.  
  1009. }
  1010. ---snip---
  1011.  
  1012. --- WtrGate+ v0.93.p7 sn 165
  1013.  * Origin: Origin Line 1 Goes Here (1:109/42)
  1014.  
  1015. +----------------------------------------------------------------------------+
  1016.  
  1017. From: smclennan@ibm.net                                 12-Oct-99 22:17:25
  1018.   To: All                                               12-Oct-99 21:21:11
  1019. Subj: Re: Generic WinOS/2 audio driver revisited
  1020.  
  1021. From: smclennan@ibm.net (Scott McLennan)
  1022.  
  1023. You need to check the Aureal home page before you buy an A3D card.  There are
  1024. warnings that some cards DO NOT work with the reference drivers which were
  1025. written for the reference board design --the OS/2 drivers are also written
  1026. against the reference design.  I had good luck going to Price Watch
  1027. http://www.imart.org/fimart/pricewat.htm
  1028. and searching for a generic A3D card manufactured to the Aureal design.  Best
  1029. price I found was $19.
  1030.  
  1031.  
  1032.  
  1033.  
  1034. In message <3801F744.9D64A149@isomedia.com> - "David T. Johnson"
  1035. <djohnson@isomedia.com>Mon, 11 Oct 1999 10:42:13 -0400 writes:
  1036. :>
  1037. :>
  1038. :>
  1039. :>I found four Vortex 1 8820-based cards that are available retail
  1040. :>at CompUSA stores.  I have also listed the CompUSA SKU# and the retail
  1041. :>price.  This is from March, 1999 so it might be out-of-date. 
  1042. :>
  1043. :>      1. "Magic Wave A3D Audio Accelerator PCI" by I/O Magic. SKU#
  1044. :>195304 $39.99
  1045. :>
  1046. :>      2. "Diamond Sonic Impact S90" by Diamond Multimedia. SKU# 216601
  1047. :>$49.99 
  1048. :>
  1049. :>      3. "HiVal PCI 338 A3D Sound Card" SKU# 192299 $49.99
  1050. :>
  1051. :>      4. "Montego A3D Xstream" by Turtle Beach. SKU# 192288. $49.99
  1052.  
  1053.  
  1054.  
  1055.  
  1056. --- WtrGate+ v0.93.p7 sn 165
  1057.  * Origin: Usenet: Global Network Services - Remote Access Mail & Ne
  1058. (1:109/42)
  1059.  
  1060. +----------------------------------------------------------------------------+
  1061.  
  1062. From: bvermo@powertech.no                               12-Oct-99 21:11:06
  1063.   To: All                                               12-Oct-99 21:21:11
  1064. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  1065.  
  1066. From: =?iso-8859-1?Q?Bj=F8rn?= Vermo <bvermo@powertech.no>
  1067.  
  1068. Mike Ruskai wrote:
  1069.  
  1070. >
  1071. > Sorry, but that's complete nonsense.   Dos16MemAvail() is a perfectly useful
  1072. > function, and it has nothing to do with memory segments.  It reports the
  1073. > amount of physical memory not allocated to storage in the virtual address
  1074. > space.
  1075. >
  1076.  
  1077. Since there is no "Dos16MemAvail" API, I assumed this was a name for the well
  1078. known
  1079. DosMemAvail, a 16-bit API to get information which was useful in OS/2 1.x but
  1080. no
  1081. longer is.
  1082.  
  1083. I assume this is some entry point you have stumbled upon, and which for good
  1084. reasons
  1085. is not publiziced as an API in any version of the Developer Toolkit. Or, to be 
  1086. on
  1087. the safe side, not in the 1.2 and 1.3, 2.0, 3.0 and 4.0 toolkits I have on
  1088. hand to
  1089. check, and not in the four-volume 1.2 documentation or Ed Iacobucci's
  1090. assembler-based programmer's guide (with the famous preface by Bill Gates)
  1091. which
  1092. deals with the original 16-bit OS/2 API.
  1093.  
  1094. >
  1095. > It's a true indication of how much memory you have left to use before
  1096. > swapping begins.
  1097. >
  1098.  
  1099. Quite. My,that might have been useful in a single-tasking operating system.
  1100.  
  1101. >
  1102. > I can't imagine why you'd think the function is useless, unless you just
  1103. > don't use OS/2.  Those of us who use it as our primary operating system have
  1104. > come to know the results of Dos16MemAvail() well, via one of many system
  1105. > monitors.
  1106.  
  1107. Maybe because I have been using OS/2 for PRACTICAL tasks since version 1.0
  1108. pre-release? I am not very impressed with programs which tell me "You have x
  1109. bytes
  1110. free RAM", and I sincerely hope that anybody who use undocumented "features"
  1111. are
  1112. careful to document that they do so - as a warning to possible users. Those
  1113. things
  1114. have a habit of coming back to haunt you, to the great shock of every new
  1115. generation
  1116. of "gee,how clever I am" programmers - which, I suppose, included most of us
  1117. at some
  1118. time.
  1119.  
  1120. And no, I cannot think of one single practical use for such a function in an
  1121. application. Obviously, neither could IBM. If I were interested in programs
  1122. that use
  1123. undocumented "features", I would use Windows. Since I prefer reliability
  1124. instead, I
  1125. use OS/2.
  1126.  
  1127.  
  1128. --- WtrGate+ v0.93.p7 sn 165
  1129.  * Origin: Usenet: Norbionics (1:109/42)
  1130.  
  1131. +----------------------------------------------------------------------------+
  1132.  
  1133. From: charette@writeme.com                              12-Oct-99 18:11:07
  1134.   To: All                                               12-Oct-99 23:18:17
  1135. Subj: DosQuerySysInfo question
  1136.  
  1137. From: Stephane Charette <charette@writeme.com>
  1138.  
  1139. I've noticed that DosQuerySysInfo has a call #26,
  1140. QSV_NUMPROCESSORS which is documented but not in the
  1141. VAC++ v3.0 BSEDOS.H file.  No big deal, I just added
  1142. a #ifndef/define/endif to my source file.
  1143.  
  1144. However, I've also noticed that there is an
  1145. undocumented call #27 which returns "0" on my
  1146. particular system.  Anyone know what this call does?
  1147. I.e.,
  1148.  
  1149.    DosQuerySysInfo(27, ...);
  1150.  
  1151. Stephane Charette
  1152.  
  1153.  
  1154. Sent via Deja.com http://www.deja.com/
  1155. Before you buy.
  1156.  
  1157. --- WtrGate+ v0.93.p7 sn 165
  1158.  * Origin: Usenet: StephNET (1:109/42)
  1159.  
  1160. +----------------------------------------------------------------------------+
  1161.  
  1162. From: seg@NOSPAM-us.ibm.com                             12-Oct-99 14:12:27
  1163.   To: All                                               12-Oct-99 23:18:17
  1164. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  1165.  
  1166. From: "Scott E. Garfinkle" <seg@NOSPAM-us.ibm.com>
  1167.  
  1168. On Tue, 12 Oct 1999 10:52:47 -0400 (EDT), Mike Ruskai wrote:
  1169.  
  1170. >...Dos16MemAvail() is a perfectly useful function, and it has nothing to do
  1171. with memory segments. 
  1172. >  It reports the amount of physical memory not allocated to storage in the
  1173. virtual address space.
  1174. >It's a true indication of how much memory you have left to use before
  1175. swapping begins.
  1176.  
  1177. I think there's room for both statements. Personally, I have no idea why you
  1178. should care how many pages are available unless you're writing a new app for
  1179. some kind of dedicated process control type of thing AND you've disabled
  1180. swapping. In that case, I guess it's potentially useful.
  1181.  
  1182. FWIW, the remark someone made about "pulling it out" of the 32 bit headers is
  1183. a bit misleading. There are many APIs that are essentially "deprecated"  in
  1184. the 32 bit model, but are still perfectly usable via thunks. These APIs were
  1185. NEVER included in the 32 bit header. As mentioned by others, you can get to
  1186. these 16 bit-only APIs via pragmas, etc., available in most or all OS/2
  1187. compilers.
  1188.  
  1189. Anyway, to prevent further confusion, the exact information returned by this
  1190. API (and not available through ANY 32 bit API) is:
  1191.     MEMMAN=NOSWAP:  <physical pages>-<resident pages>-<swappable pages>-
  1192.                        <discardable pages>-16
  1193.  
  1194. Under MEMMAN=SWAP, you're getting back roughly what
  1195. DosQuerySysInfo(TOTMEMAVAIL) returns -- roughly speaking, this is <available
  1196. physical memory>+<available disk space on the swap drive>. I tend to agree
  1197. that this information is not useless, but nearly so.
  1198.     -Scott Garfinkle
  1199.     OS/2 Change Team Lead Programmer
  1200.  
  1201.  
  1202. --- WtrGate+ v0.93.p7 sn 165
  1203.  * Origin: Usenet: NCSD OS/2 Service (1:109/42)
  1204.  
  1205. +----------------------------------------------------------------------------+
  1206.  
  1207. From: seg@NOSPAM-us.ibm.com                             12-Oct-99 14:13:19
  1208.   To: All                                               12-Oct-99 23:18:17
  1209. Subj: Re: Making a memory-block unswappable?
  1210.  
  1211. From: "Scott E. Garfinkle" <seg@NOSPAM-us.ibm.com>
  1212.  
  1213. On 12 Oct 1999 15:18:43 GMT, Mads Orbesen Troest wrote:
  1214.  
  1215. >Is there any way to not allow OS/2 to swap out a piece of memory 
  1216. >allocated by me? Thanks in advance!
  1217. Only via a device driver or IFS. See pdd.inf in the DDK for the exact
  1218. DevHelps involved.
  1219.  
  1220.  
  1221. --- WtrGate+ v0.93.p7 sn 165
  1222.  * Origin: Usenet: NCSD OS/2 Service (1:109/42)
  1223.  
  1224. +----------------------------------------------------------------------------+
  1225.  
  1226. From: seg@NOSPAM-us.ibm.com                             12-Oct-99 14:20:03
  1227.   To: All                                               12-Oct-99 23:18:17
  1228. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  1229.  
  1230. From: "Scott E. Garfinkle" <seg@NOSPAM-us.ibm.com>
  1231.  
  1232. On Tue, 12 Oct 1999 14:12:54 -0500 (CDT), Scott E. Garfinkle wrote:
  1233.  
  1234. >Anyway, to prevent further confusion, the exact information returned by this
  1235. >API (and not available through ANY 32 bit API) is:
  1236. I should have checked more carefully. In BOTH cases, the number reported by
  1237. DosMemAvail should be identical to the number reported by
  1238. DosQuerySysInfo(TOTAVAILMEM,...). Sorry about the misinformation.
  1239.  
  1240.  
  1241. --- WtrGate+ v0.93.p7 sn 165
  1242.  * Origin: Usenet: NCSD OS/2 Service (1:109/42)
  1243.  
  1244. +----------------------------------------------------------------------------+
  1245.  
  1246. From: seg@NOSPAM-us.ibm.com                             12-Oct-99 14:48:19
  1247.   To: All                                               12-Oct-99 23:18:17
  1248. Subj: Re: DosQuerySysInfo question
  1249.  
  1250. From: "Scott E. Garfinkle" <seg@NOSPAM-us.ibm.com>
  1251.  
  1252. All the DosQuerySysInfo defines are documented. As of the latest toolkit,
  1253. the defines are as below. I leave it to others to explicate. 
  1254.  
  1255. #define INDX_NUMPROCESSORS              26
  1256. #define INDX_MAXHPRMEM                  27
  1257. #define INDX_MAXHSHMEM                  28
  1258. #define INDX_MAXPROCESSES               29
  1259. #define INDX_VIRTUALADDRESSLIMIT        30
  1260. #define INDX_INT10ENABLED               31
  1261.  
  1262.  
  1263.  
  1264. --- WtrGate+ v0.93.p7 sn 165
  1265.  * Origin: Usenet: NCSD OS/2 Service (1:109/42)
  1266.  
  1267. +----------------------------------------------------------------------------+
  1268.  
  1269. From: seg@NOSPAM-us.ibm.com                             12-Oct-99 14:57:23
  1270.   To: All                                               12-Oct-99 23:18:17
  1271. Subj: Re: MuxWait "turn-taking"
  1272.  
  1273. From: "Scott E. Garfinkle" <seg@NOSPAM-us.ibm.com>
  1274.  
  1275. On Tue, 12 Oct 1999 14:56:21 -0500 (CDT), Scott E. Garfinkle wrote:
  1276.  
  1277. >Following is the comment from the source code
  1278. [not.  I hate it when I forget to include the promised attachments.]
  1279. ----------------
  1280. from the comments:
  1281.  
  1282.  If the DCMW_WAIT_ANY flag is set, then the semaphore is to wait for
  1283.  any of the event/mutex semaphores in its list to be posted/released.
  1284.  Once any ONE of the semaphores is posted/released, the thread waiting
  1285.  on the muxwait can run.  If there is more than one mutex in the list
  1286.  and one of the mutex semaphores was the one semaphore that cleared,
  1287.  then the thread will only gain ownership of the one mutex that became
  1288.  available, NOT all of them.  The semaphores will be checked in the
  1289.  order in which they are defined in the muxwait's list.  If the
  1290.  DCMW_WAIT_ALL flag is set, then the semaphore is to wait for ALL of
  1291.  the event/mutex semaphores in its list to be posted/released.  Once
  1292.  ALL of the semaphores have been posted/released, the thread waiting
  1293.  on the muxwait can run.
  1294.  
  1295.  
  1296.  
  1297. --- WtrGate+ v0.93.p7 sn 165
  1298.  * Origin: Usenet: NCSD OS/2 Service (1:109/42)
  1299.  
  1300. +----------------------------------------------------------------------------+
  1301.  
  1302. From: seg@NOSPAM-us.ibm.com                             12-Oct-99 14:56:10
  1303.   To: All                                               12-Oct-99 23:18:17
  1304. Subj: Re: MuxWait "turn-taking"
  1305.  
  1306. From: "Scott E. Garfinkle" <seg@NOSPAM-us.ibm.com>
  1307.  
  1308. On 12 Oct 1999 13:55:32 GMT, Mads Orbesen Troest wrote:
  1309.  
  1310. >My question is now: would this code ever reach the point where Event 3
  1311. >could be serviced, or will the MuxWait always trigger on Event 1 in 
  1312. >this case, Event 1 - being the first - always being checked before the
  1313. >others? Or is there some "turn taking" taking place so that other 
  1314. >semaphores are also checked?
  1315. Following is the comment from the source code. Essentially, your "fear"is
  1316. correct. If this is a particular concern, I strongly suggest that you use
  1317. multiple service threads, each waiting on a different event. Shared resources
  1318. would then need to be serialized with a mutex sem. Also, if appropriate, I
  1319. suggest that you take adavantage of the DCE_AUTORESET (0x1000) flag to
  1320. DosCreateEventSem so that your event sem will automatically be reset after
  1321. being posted. If you have multiple potential service threads, you should also
  1322. use DCE_POSTONE (0x800) so that only one waiter will wake up for a given
  1323. event sem post.
  1324.  
  1325.  
  1326. --- WtrGate+ v0.93.p7 sn 165
  1327.  * Origin: Usenet: NCSD OS/2 Service (1:109/42)
  1328.  
  1329. +----------------------------------------------------------------------------+
  1330.  
  1331. From: lamikr@cc.jyu.fi                                  12-Oct-99 23:40:25
  1332.   To: All                                               12-Oct-99 23:18:17
  1333. Subj: Re: Generic WinOS/2 audio driver revisited
  1334.  
  1335. From: lamikr <lamikr@cc.jyu.fi>
  1336.  
  1337. > > Works fine in OS/2 if I have not installed voice-type.
  1338. > > (Voice type seems to hang it just before desktop is appearing,
  1339. > > same happened earlier with gravis ultrasound drivers)
  1340. >
  1341. > I have an Aureal 8820-based PCI sound card and Voicetype works fine.
  1342. > This might be a problem with your voicetype install.  I suggest a
  1343. > selective uninstall of voicetype and then a selective install.
  1344.  
  1345. I am scary to uninstall and install voicetype back because I am afraid
  1346. it would backlevel some files compared to fp12.
  1347.  
  1348. I was able to use Voicetype in the following way.
  1349. First I remmed all voice-type related from config.sys and
  1350. instead I run following in os2-prompt:
  1351.  
  1352. REM *** START IBM VoiceType  ***
  1353. SET SPCH_RUN=E:\VT\SPCH_RUN
  1354. SET SPCH_RO=E:\VT\SPCH_RO
  1355. SET SPCH_RW=E:\VT\SPCH_RW
  1356. SET SPCH_BIN=E:\VT\SPCH_BIN
  1357. SET SPCH_PATH=E:\VT\SPCH_RO\LANGS\%L\POOLS
  1358. SET SPCH_TRN=E:\VT\SPCH_BSF
  1359. SET BEGINLIBPATH=%BEGINLIBPATH%E:\VT\SPCH_BIN;
  1360. SET PATH=%PATH%E:\VT\SPCH_BIN;
  1361. SET DPATH=%DPATH%E:\VT\SPCH_BIN;
  1362. SET HELP=%HELP%E:\VT\SPCH_RO\HELP;
  1363. REM *** END IBM VoiceType  ***
  1364.  
  1365. After that I was able to run voice-type programs from prompt.
  1366. Has WPS hanged for anybody else when Voice-type is installed?
  1367.  
  1368. Mika
  1369.  
  1370.  
  1371.  
  1372. --- WtrGate+ v0.93.p7 sn 165
  1373.  * Origin: Usenet: University of Jyvaskyla, Finland (1:109/42)
  1374.  
  1375. +----------------------------------------------------------------------------+
  1376.  
  1377. From: seg@NOSPAM-us.ibm.com                             12-Oct-99 14:42:04
  1378.   To: All                                               12-Oct-99 23:18:17
  1379. Subj: Re: DosSubAllocMem
  1380.  
  1381. From: "Scott E. Garfinkle" <seg@NOSPAM-us.ibm.com>
  1382.  
  1383. On Tue, 12 Oct 1999 13:10:16 GMT, Jan Danielsson wrote:
  1384.  
  1385. >Just call DosSubAllocMem(). A system wide semaphore is created by
  1386. >DosSubSetMem() if you specify DOSSUB_SERIALIZE, the semaphore is
  1387. >automatically requested then you call DosSub(Alloc/Free)Mem().
  1388. First of all, it is NOT a system-wide semaphore.  There is a unique semaphore
  1389. created for each suballoc pool. Secondly, this is only done if the
  1390. DOSSUB_SERIALIZE
  1391. bit is set on call to DosSubAllocMem. I think this is what you meant, but I
  1392. want to make
  1393. sure there is no confusion on this subject.
  1394.  
  1395. >>Just to be sure I used mutex semaphores to serialize every access
  1396. >>to DosSubAllocMem(), DosSubFreeMem() and DosSubUnsetMem()... is that right
  1397. or is an overkill?
  1398. >Not needed, but good thinking.
  1399. Actually, it is critical if you DON'T specifiy the SERIALIZE bit. If, as I
  1400. strongly recommend, you DO set it,
  1401. this is definitely overkill.
  1402.  
  1403.  
  1404. --- WtrGate+ v0.93.p7 sn 165
  1405.  * Origin: Usenet: NCSD OS/2 Service (1:109/42)
  1406.  
  1407. +----------------------------------------------------------------------------+
  1408.  
  1409. From: thannymeister@spambegone.yahoo.com                12-Oct-99 17:12:14
  1410.   To: All                                               12-Oct-99 23:18:17
  1411. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  1412.  
  1413. From: "Mike Ruskai" <thannymeister@spambegone.yahoo.com>
  1414.  
  1415. On Tue, 12 Oct 1999 14:20:07 -0500 (CDT), Scott E. Garfinkle wrote:
  1416.  
  1417. >On Tue, 12 Oct 1999 14:12:54 -0500 (CDT), Scott E. Garfinkle wrote:
  1418. >
  1419. >>Anyway, to prevent further confusion, the exact information returned by this
  1420. >>API (and not available through ANY 32 bit API) is:
  1421. >I should have checked more carefully. In BOTH cases, the number reported by
  1422. >DosMemAvail should be identical to the number reported by
  1423. >DosQuerySysInfo(TOTAVAILMEM,...). Sorry about the misinformation.
  1424.  
  1425. You're still giving it ;)
  1426.  
  1427. Run the program in my previous post, and you'll see that you're very confused
  1428. about something.
  1429.  
  1430.  
  1431. --
  1432.  - Mike
  1433.  
  1434. Remove 'spambegone' to send e-mail.
  1435.  
  1436.  
  1437. --- WtrGate+ v0.93.p7 sn 165
  1438.  * Origin: Usenet: TLF (1:109/42)
  1439.  
  1440. +----------------------------------------------------------------------------+
  1441.  
  1442. From: jSePnAsMaBjOcTe@w271zrz.zrz.tu-b...               12-Oct-99 21:09:04
  1443.   To: All                                               12-Oct-99 23:18:17
  1444. Subj: Re: Session Manager, what the heck is it doing?
  1445.  
  1446. Message sender: jSePnAsMaBjOcTe@w271zrz.zrz.tu-berlin.de
  1447.  
  1448. From: jSePnAsMaBjOcTe@w271zrz.zrz.tu-berlin.de (Jens Glathe)
  1449.  
  1450. On Mon, 11 Oct 1999 14:57:20, Dave Blaschke <blaschke@us.ibm.com> 
  1451. wrote:
  1452.  
  1453. > Well, you could try calling DosSelectSession immediately prior to calling
  1454. > DosStartSession, but there is no guarantee that somebody else will become
  1455. the
  1456. > foreground session before you DosStartSession call completes...
  1457.  
  1458. Nasty problem. Thought a while about it, but there seems to be no 
  1459. system-semaphore which could be used to grant an unpreempted execution
  1460. of the process.
  1461.  
  1462. Regards,
  1463.  
  1464. Jens.
  1465.  
  1466. Jens Glathe <glathe@gmx.de>
  1467.  
  1468. -- 
  1469. Never trust a programmer who is carrying a screwdriver.
  1470.  
  1471. --- WtrGate+ v0.93.p7 sn 165
  1472.  * Origin: Usenet: Technical University Berlin, Germany (1:109/42)
  1473.  
  1474. +----------------------------------------------------------------------------+
  1475.  
  1476. From: thannymeister@spambegone.yahoo.com                12-Oct-99 17:11:21
  1477.   To: All                                               12-Oct-99 23:18:17
  1478. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  1479.  
  1480. From: "Mike Ruskai" <thannymeister@spambegone.yahoo.com>
  1481.  
  1482. On Tue, 12 Oct 1999 14:12:54 -0500 (CDT), Scott E. Garfinkle wrote:
  1483.  
  1484. >On Tue, 12 Oct 1999 10:52:47 -0400 (EDT), Mike Ruskai wrote:
  1485. >
  1486. >>...Dos16MemAvail() is a perfectly useful function, and it has nothing to do
  1487. with memory segments. 
  1488. >>  It reports the amount of physical memory not allocated to storage in the
  1489. virtual address space.
  1490. >>It's a true indication of how much memory you have left to use before
  1491. swapping begins.
  1492. >
  1493. >I think there's room for both statements. Personally, I have no idea why you
  1494. >should care how many pages are available unless you're writing a new app for
  1495. >some kind of dedicated process control type of thing AND you've disabled
  1496. >swapping. In that case, I guess it's potentially useful.
  1497. >
  1498. >FWIW, the remark someone made about "pulling it out" of the 32 bit headers is
  1499. >a bit misleading. There are many APIs that are essentially "deprecated"  in
  1500. >the 32 bit model, but are still perfectly usable via thunks. These APIs were
  1501. >NEVER included in the 32 bit header. As mentioned by others, you can get to
  1502. >these 16 bit-only APIs via pragmas, etc., available in most or all OS/2
  1503. >compilers.
  1504. >
  1505. >Anyway, to prevent further confusion, the exact information returned by this
  1506. >API (and not available through ANY 32 bit API) is:
  1507. >    MEMMAN=NOSWAP:  <physical pages>-<resident pages>-<swappable pages>-
  1508. >                       <discardable pages>-16
  1509. >
  1510. >Under MEMMAN=SWAP, you're getting back roughly what
  1511. >DosQuerySysInfo(TOTMEMAVAIL) returns -- roughly speaking, this is <available
  1512. >physical memory>+<available disk space on the swap drive>. I tend to agree
  1513. >that this information is not useless, but nearly so.
  1514.  
  1515. This last part simply isn't accurate.  What you're going to get back is
  1516. exactly the same as without swapping.  The number will be equal to the result
  1517. of QSV_TOTAVAILMEM less free space on the swap drive and unused space in the
  1518. swapper file.  
  1519.  
  1520. Run this one:
  1521.  
  1522. #define INCL_DOSPROCESS
  1523. #define INCL_DOSFILEMGR
  1524. #define INCL_DOSMISC
  1525. #include <os2.h>
  1526. #include <stdio.h>
  1527. #include <stdlib.h>
  1528. #include <ctype.h>
  1529. #include <memory.h>
  1530.  
  1531. #pragma import(Dos16MemAvail, "", "DOSCALLS", 127)
  1532. APIRET16 APIENTRY16 Dos16MemAvail(PULONG fMem);
  1533.  
  1534. int main(int argc, char *argv[])
  1535. {
  1536.     ULONG pMem, vMem, dNum, sdFree;
  1537.     char dLetter;
  1538.     int i;
  1539.     FSALLOCATE fsa;
  1540.  
  1541.     if (argc!=2)
  1542.         {
  1543.         printf("\nSpecify swap drive as a parameter.\n");
  1544.         return 1;
  1545.         }
  1546.  
  1547.     dLetter=toupper(argv[1][0]);
  1548.  
  1549.     dNum=(ULONG)(dLetter-64);
  1550.  
  1551.     Dos16MemAvail(&pMem);
  1552.     DosQuerySysInfo(QSV_TOTAVAILMEM, QSV_TOTAVAILMEM,
  1553.                     &vMem, sizeof(vMem));
  1554.  
  1555.     memset(&fsa, 0, sizeof(fsa));
  1556.  
  1557.     DosQueryFSInfo(dNum, FSIL_ALLOC, &fsa, sizeof(fsa));
  1558.  
  1559.     sdFree=fsa.cbSector*fsa.cSectorUnit*fsa.cUnitAvail;
  1560.  
  1561.     printf("\nFree virtual memory: %d\n\nFree physical memory: %d\n",
  1562.            vMem, pMem);
  1563.     printf("\nFree swap space: %d\n", sdFree);
  1564.     printf("\nVirtual minus swap space: %d\n", (vMem-sdFree));
  1565.  
  1566.     return 0;
  1567. }
  1568.  
  1569.  
  1570. The last number will differ from free physical memory by the amount of space
  1571. in your swapper file that isn't being used.  
  1572.  
  1573.  
  1574. --
  1575.  - Mike
  1576.  
  1577. Remove 'spambegone' to send e-mail.
  1578.  
  1579.  
  1580. --- WtrGate+ v0.93.p7 sn 165
  1581.  * Origin: Usenet: TLF (1:109/42)
  1582.  
  1583. +----------------------------------------------------------------------------+
  1584.  
  1585. From: tony@iniki.dod.hawaii.gov                         13-Oct-99 01:20:13
  1586.   To: All                                               13-Oct-99 03:37:02
  1587. Subj: SO_REUSEADDR doesn't work
  1588.  
  1589. From: Antonio Querubin <tony@iniki.dod.hawaii.gov>
  1590.  
  1591. Looking for some help in getting a C program to bind to a socket with the
  1592. SO_REUSEADDR option.  The following code fragment works under several UNIX
  1593. systems and Windows with GCC as the compiler.
  1594.  
  1595.   optint = TRUE;
  1596.   setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void *) &optint, sizeof(optint));
  1597.  
  1598.   stLocal.sin_family = AF_INET;
  1599.   stLocal.sin_addr.s_addr = htonl(INADDR_ANY);
  1600.   stLocal.sin_port = htons(atoi(argv[2]));
  1601.   bind(s, (struct sockaddr *) &stLocal, sizeof(stLocal));
  1602.  
  1603. Multiple instances of the program will run and bind to the same address
  1604. and/or port number under UNIX and Windows (this is a multicast IP
  1605. program).  Under OS/2 using emx-gcc (0.9d) as the compiler, the program
  1606. compiles and a single instance will startup, bind to the socket, and run
  1607. properly without problems.
  1608.  
  1609. However, subsequent concurrent instances of the program will fail at the
  1610. bind step with a "Address already in use error".  The error will occur as
  1611. long as either the address OR the port is already in use.  The preceding
  1612. setsockopt() returns no error.  So I'm somewhat confused as to why the
  1613. setsockopt() succeeds while the bind() fails on subsequent instances.
  1614. Could this be a bug in emx or is it perhaps a problem in OS/2?  The
  1615. problem isn't super critical since it's not likely a user will need to
  1616. monitor the same multicast address or port through more than one window
  1617. session.  However, there may be reason to monitor a particular multicast
  1618. group transmitted on different addresses but going to the same port.  In
  1619. this case the program wont work like its UNIX and Windows versions.
  1620.  
  1621. Complete source (it's really small) to the program in question can be
  1622. found at ftp://ftp.lava.net/users/tony/multicast/mcrecv.c if anyone is
  1623. willing to look at it.
  1624.  
  1625. -- 
  1626. Antonio Querubin
  1627.  
  1628. --- WtrGate+ v0.93.p7 sn 165
  1629.  * Origin: Origin Line 1 Goes Here (1:109/42)
  1630.  
  1631. +----------------------------------------------------------------------------+
  1632.  
  1633. From: Brian@webone.com.au                               13-Oct-99 16:47:18
  1634.   To: All                                               13-Oct-99 06:16:02
  1635. Subj: Re: HOWTO: chat scripts?
  1636.  
  1637. From: Brian@webone.com.au
  1638.  
  1639. JASMINE HAS to be the best way to do this.
  1640.  
  1641. Look for  jsm280r.zip on Hobbes etc.
  1642.  
  1643. Written in Java it is quick and you can FTP toa server or copy to a disk.
  1644.  
  1645. Brian
  1646.  
  1647.  
  1648. <380335B2.EDB694B@powertech.no>, =?iso-8859-1?Q?Bj=F8rn?= Vermo
  1649. <bvermo@powertech.no> writes:
  1650. >Paul Ratcliffe wrote:
  1651. >
  1652. >> On Mon, 11 Oct 1999 20:27:02 GMT, Marco Shaw <marco.shaw@nbtel.nb.ca>
  1653. wrote:
  1654. >>
  1655. >> >I'm new to OS/2 admin.  I need to develop a script that gets files newer
  1656. >> >than x date, and FTPs all these files to an FTP server, and this must be
  1657. >> >done every 4 hours.
  1658. >>
  1659. >> You need REXX and a library package called RxSock. This all comes with Warp 
  1660. 4.
  1661. >>
  1662. >
  1663. >It may also be useful to run SWITCHRX.CMD to change to the new Object REXX.
  1664. It has
  1665. >some new functions which are very useful, such as access to semaphores. It is 
  1666. also
  1667. >very fast and convenient to use the container classes (tables, arrays, queues 
  1668. &c)
  1669. >to organize the files you need to transmit.
  1670. >
  1671. >It is easier to use the REXX ftp API if you do not need all the socket
  1672. >capabilities.
  1673. >From the online documentation:
  1674. >
  1675. > The REXX FTP API package is contained in the file rxftp.dll. This dynamic
  1676. link
  1677. >library (DLL) must be placed in a
  1678. > directory listed in your LIBPATH statement in your CONFIG.SYS file. To use
  1679. the
  1680. >functions in the REXX FTP API
  1681. > package, execute this REXX code:
  1682. >
  1683. > rc = RxFuncAdd("FtpLoadFuncs","rxFtp","FtpLoadFuncs")
  1684. > rc = FtpLoadFuncs()
  1685. >
  1686. > To unload the DLL, you should first call the FtpDropFuncs() function, then
  1687. exit
  1688. >all CMD.EXE shells. After exiting all
  1689. > the command shells, the DLL will be dropped by OS/2 and can be deleted or
  1690. >replaced.
  1691. >
  1692. >
  1693. >
  1694. >>
  1695. >> >What kind of scheduling mechanism does OS/2 (Warp 4) have?
  1696. >>
  1697. >> It doesn't, but there is a choice of Cron-like utilties on Hobbes which
  1698. will
  1699. >> do the job.
  1700. >>
  1701. >
  1702. >It certainly does! I have used the scheduler in the bonus pack for years with 
  1703. no
  1704. >problems. It will allow a wide range of different scheduling options (like
  1705. every n
  1706. >days, third wednesday in every month, or whatever).
  1707. >
  1708. >It is also possible to do the scheduling in REXX if it is fairly
  1709. straightforward.
  1710. >Your batch control program can be started from the startup folder, and stay
  1711. in the
  1712. >background like any other daemon.
  1713. >
  1714. >/* REXX timing loop for daily task */
  1715. >iScheduled = TIME('S', '22:14:00') /* Convert scheduled time 22:14 to seconds
  1716. >after midnight */
  1717. >do forever
  1718. >  iNow = TIME('s') /* Seconds since midnight */
  1719. >  iWait = iScheduled - iNow
  1720. >  if iWait < 0 then iWait = iWait + TIME('S', '23:59:59') /* Not until
  1721. tomorrow */
  1722. >
  1723. >  SAY 'Wait' iWait 'seconds, until' TIME('N', iScheduled, 'S')
  1724. >  CALL SysSleep iWait
  1725. >  'START /B myjob.cmd'
  1726. >end
  1727. >
  1728. >
  1729.  
  1730. --- WtrGate+ v0.93.p7 sn 165
  1731.  * Origin: Usenet: Web One Internet http://webone.com.au (1:109/42)
  1732.  
  1733. +----------------------------------------------------------------------------+
  1734.  
  1735. From: @tin.it                                           12-Oct-99 20:28:11
  1736.   To: All                                               13-Oct-99 06:16:02
  1737. Subj: Re: DosSubAllocMem
  1738.  
  1739. From: @tin.it (Alessandro Cantatore)
  1740.  
  1741. In article <wnaqnavryffbasnyhaznvygryvnpbz.fji80a0.pminews@news1.telia.com>,
  1742. "Jan Danielsson" <Jan.Danielsson@falun.mail.telia.com> wrote:
  1743.  
  1744.  >>The documentation says that the flag DOSSUB_SERIALIZE in DosSubSetMem()
  1745.  >>is for shared memory pools, but there is nothing about accessing to
  1746.  >>the same heap from different threads of the same process...
  1747.  >
  1748.  >Just call DosSubAllocMem(). A system wide semaphore is created by
  1749.  >DosSubSetMem() if you specify DOSSUB_SERIALIZE, the semaphore is
  1750.  >automatically requested then you call DosSub(Alloc/Free)Mem().
  1751.  
  1752. yes I know that... anyway since my program is a PM extension which
  1753. is loaded at boot time the best solution is to use a semaphore for
  1754. each process so, in case the program is run on an smp machine,
  1755. multiple processes cocurrently without waiting for a shared
  1756. semaphore
  1757.  
  1758.  >>Just to be sure I used mutex semaphores to serialize every access
  1759.  >
  1760.  >Not needed, but good thinking.
  1761.  
  1762. thank you for the reply... I just wanted a sort of confirmation...
  1763.  
  1764. -- 
  1765. bye
  1766. Alessandro Cantatore
  1767. email reply to: alexcant at: tin.it
  1768. http://acsoft.ghostbbs.cx
  1769.  
  1770. --- WtrGate+ v0.93.p7 sn 165
  1771.  * Origin: Usenet: TIN (1:109/42)
  1772.  
  1773. +----------------------------------------------------------------------------+
  1774.  
  1775. From: tim.timmins@bcs.org.uk                            13-Oct-99 11:44:17
  1776.   To: All                                               13-Oct-99 10:22:20
  1777. Subj: Re: HOWTO: chat scripts?
  1778.  
  1779. From: Tim Timmins <tim.timmins@bcs.org.uk>
  1780.  
  1781.  ftp://hobbes.nmsu.edu/pub/os2/apps/internet/ftp/client/jsm285r.zip
  1782.  
  1783. Brian@webone.com.au wrote:
  1784.  
  1785. > JASMINE HAS to be the best way to do this.
  1786. >
  1787. > Look for  jsm280r.zip on Hobbes etc.
  1788. >
  1789. > Written in Java it is quick and you can FTP toa server or copy to a disk.
  1790. >
  1791. > Brian
  1792. >
  1793. > <380335B2.EDB694B@powertech.no>, =?iso-8859-1?Q?Bj=F8rn?= Vermo
  1794. <bvermo@powertech.no> writes:
  1795. > >Paul Ratcliffe wrote:
  1796. > >
  1797. > >> On Mon, 11 Oct 1999 20:27:02 GMT, Marco Shaw <marco.shaw@nbtel.nb.ca>
  1798. wrote:
  1799. > >>
  1800. > >> >I'm new to OS/2 admin.  I need to develop a script that gets files newer
  1801. > >> >than x date, and FTPs all these files to an FTP server, and this must be
  1802. > >> >done every 4 hours.
  1803. > >>
  1804. > >> You need REXX and a library package called RxSock. This all comes with
  1805. Warp 4.
  1806. > >>
  1807. > >
  1808. > >It may also be useful to run SWITCHRX.CMD to change to the new Object REXX. 
  1809. It has
  1810. > >some new functions which are very useful, such as access to semaphores. It
  1811. is also
  1812. > >very fast and convenient to use the container classes (tables, arrays,
  1813. queues &c)
  1814. > >to organize the files you need to transmit.
  1815. > >
  1816. > >It is easier to use the REXX ftp API if you do not need all the socket
  1817. > >capabilities.
  1818. > >From the online documentation:
  1819. > >
  1820. > > The REXX FTP API package is contained in the file rxftp.dll. This dynamic
  1821. link
  1822. > >library (DLL) must be placed in a
  1823. > > directory listed in your LIBPATH statement in your CONFIG.SYS file. To use 
  1824. the
  1825. > >functions in the REXX FTP API
  1826. > > package, execute this REXX code:
  1827. > >
  1828. > > rc = RxFuncAdd("FtpLoadFuncs","rxFtp","FtpLoadFuncs")
  1829. > > rc = FtpLoadFuncs()
  1830. > >
  1831. > > To unload the DLL, you should first call the FtpDropFuncs() function, then 
  1832. exit
  1833. > >all CMD.EXE shells. After exiting all
  1834. > > the command shells, the DLL will be dropped by OS/2 and can be deleted or
  1835. > >replaced.
  1836. > >
  1837. > >
  1838. > >
  1839. > >>
  1840. > >> >What kind of scheduling mechanism does OS/2 (Warp 4) have?
  1841. > >>
  1842. > >> It doesn't, but there is a choice of Cron-like utilties on Hobbes which
  1843. will
  1844. > >> do the job.
  1845. > >>
  1846. > >
  1847. > >It certainly does! I have used the scheduler in the bonus pack for years
  1848. with no
  1849. > >problems. It will allow a wide range of different scheduling options (like
  1850. every n
  1851. > >days, third wednesday in every month, or whatever).
  1852. > >
  1853. > >It is also possible to do the scheduling in REXX if it is fairly
  1854. straightforward.
  1855. > >Your batch control program can be started from the startup folder, and stay 
  1856. in the
  1857. > >background like any other daemon.
  1858. > >
  1859. > >/* REXX timing loop for daily task */
  1860. > >iScheduled = TIME('S', '22:14:00') /* Convert scheduled time 22:14 to
  1861. seconds
  1862. > >after midnight */
  1863. > >do forever
  1864. > >  iNow = TIME('s') /* Seconds since midnight */
  1865. > >  iWait = iScheduled - iNow
  1866. > >  if iWait < 0 then iWait = iWait + TIME('S', '23:59:59') /* Not until
  1867. tomorrow */
  1868. > >
  1869. > >  SAY 'Wait' iWait 'seconds, until' TIME('N', iScheduled, 'S')
  1870. > >  CALL SysSleep iWait
  1871. > >  'START /B myjob.cmd'
  1872. > >end
  1873. > >
  1874. > >
  1875.  
  1876. --- WtrGate+ v0.93.p7 sn 165
  1877.  * Origin: Origin Line 1 Goes Here (1:109/42)
  1878.  
  1879. +----------------------------------------------------------------------------+
  1880.  
  1881. From: thannymeister@spambegone.yahoo.com                13-Oct-99 06:23:13
  1882.   To: All                                               13-Oct-99 10:22:20
  1883. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  1884.  
  1885. From: "Mike Ruskai" <thannymeister@spambegone.yahoo.com>
  1886.  
  1887. On Tue, 12 Oct 1999 21:11:12 +0200, Bj rn Vermo wrote:
  1888.  
  1889. >Mike Ruskai wrote:
  1890. >
  1891. >>
  1892. >> Sorry, but that's complete nonsense.   Dos16MemAvail() is a perfectly
  1893. useful
  1894. >> function, and it has nothing to do with memory segments.  It reports the
  1895. >> amount of physical memory not allocated to storage in the virtual address
  1896. >> space.
  1897. >>
  1898. >
  1899. >Since there is no "Dos16MemAvail" API, I assumed this was a name for the well 
  1900. known
  1901. >DosMemAvail, a 16-bit API to get information which was useful in OS/2 1.x but 
  1902. no
  1903. >longer is.
  1904.  
  1905. Dos16MemAvail() is the common calling convention for a 16-bit OS/2 API call
  1906. from a 32-bit program.
  1907.  
  1908. It executes a function which returns accurate and useful information, which I
  1909. demonstrated in the program included int he very message you're responding
  1910. to; a program you have obviously neglected to compile and run, given the
  1911. nonsense that appears above, and follows.
  1912.  
  1913. >I assume this is some entry point you have stumbled upon, and which for good
  1914. reasons
  1915. >is not publiziced as an API in any version of the Developer Toolkit. Or, to
  1916. be on
  1917. >the safe side, not in the 1.2 and 1.3, 2.0, 3.0 and 4.0 toolkits I have on
  1918. hand to
  1919. >check, and not in the four-volume 1.2 documentation or Ed Iacobucci's
  1920. >assembler-based programmer's guide (with the famous preface by Bill Gates)
  1921. which
  1922. >deals with the original 16-bit OS/2 API.
  1923.  
  1924. It's not a big mystery.  It's merely an undocumented API call.  One that's
  1925. used quite extensively in the OS/2 world.  That you've not heard of it, and
  1926. are completely ignorant of its usefulness, is your loss.
  1927.  
  1928. >> It's a true indication of how much memory you have left to use before
  1929. >> swapping begins.
  1930. >>
  1931. >
  1932. >Quite. My,that might have been useful in a single-tasking operating system.
  1933.  
  1934. Fortunately for the rest of the world, your lack of imagination as to the
  1935. usefulness of the information has no bearing on the fact that it is useful.
  1936.  
  1937. >> I can't imagine why you'd think the function is useless, unless you just
  1938. >> don't use OS/2.  Those of us who use it as our primary operating system
  1939. have
  1940. >> come to know the results of Dos16MemAvail() well, via one of many system
  1941. >> monitors.
  1942. >
  1943. >Maybe because I have been using OS/2 for PRACTICAL tasks since version 1.0
  1944. >pre-release? I am not very impressed with programs which tell me "You have x
  1945. bytes
  1946. >free RAM", and I sincerely hope that anybody who use undocumented "features"
  1947. are
  1948. >careful to document that they do so - as a warning to possible users. Those
  1949. things
  1950. >have a habit of coming back to haunt you, to the great shock of every new
  1951. generation
  1952. >of "gee,how clever I am" programmers - which, I suppose, included most of us
  1953. at some
  1954. >time.
  1955. >
  1956. >And no, I cannot think of one single practical use for such a function in an
  1957. >application. Obviously, neither could IBM. If I were interested in programs
  1958. that use
  1959. >undocumented "features", I would use Windows. Since I prefer reliability
  1960. instead, I
  1961. >use OS/2.
  1962.  
  1963. You're lack of imagination and creativity is unfortunate.  The rest of us
  1964. will use this undocumented API regardless, even some who don't know that it's
  1965. being used.
  1966.  
  1967.  
  1968. --
  1969.  - Mike
  1970.  
  1971. Remove 'spambegone' to send e-mail.
  1972.  
  1973.  
  1974. --- WtrGate+ v0.93.p7 sn 165
  1975.  * Origin: Usenet: TLF (1:109/42)
  1976.  
  1977. +----------------------------------------------------------------------------+
  1978.  
  1979. From: leifel@online.no                                  13-Oct-99 13:01:21
  1980.   To: All                                               13-Oct-99 10:22:20
  1981. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  1982.  
  1983. From: "Leif-Erik Larsen" <leifel@online.no>
  1984.  
  1985. On Tue, 12 Oct 1999 14:12:54 -0500 (CDT), Scott E. Garfinkle wrote:
  1986.  
  1987. >On Tue, 12 Oct 1999 10:52:47 -0400 (EDT), Mike Ruskai wrote:
  1988. >
  1989. >>...Dos16MemAvail() is a perfectly useful function, and it has nothing to do
  1990. with memory segments. 
  1991. >>  It reports the amount of physical memory not allocated to storage in the
  1992. virtual address space.
  1993. >>It's a true indication of how much memory you have left to use before
  1994. swapping begins.
  1995. >
  1996. >I think there's room for both statements. Personally, I have no idea why you
  1997. >should care how many pages are available unless you're writing a new app for
  1998. >some kind of dedicated process control type of thing AND you've disabled
  1999. >swapping. In that case, I guess it's potentially useful.
  2000.  
  2001. I use it to monitor the current "free physical RAM", in the
  2002. Larsen Commander. I think there are a lot of users, including my
  2003. self, that appreciate this feature. If not necessarily very
  2004. practical, it feels OK to know my computer an my programs and
  2005. how much physical RAM the various applications actually allocates
  2006. when they start up. In fact, this feature is even very useful
  2007. when debugging and testing programs. You can easily see if, and when,
  2008. the program eventually start eating a lot of RAM, by following
  2009. the physical memory monitor.
  2010.  
  2011. >FWIW, the remark someone made about "pulling it out" of the 32 bit headers is
  2012. >a bit misleading. There are many APIs that are essentially "deprecated"  in
  2013. >the 32 bit model, but are still perfectly usable via thunks. These APIs were
  2014. >NEVER included in the 32 bit header. As mentioned by others, you can get to
  2015. >these 16 bit-only APIs via pragmas, etc., available in most or all OS/2
  2016. >compilers.
  2017.  
  2018. Maybe, but I am still not able to successfully call the Dos16MemAvail API
  2019. from VisualAge C++ 4.0. :-(
  2020.  
  2021. I have tried (as far as I know) all possible solutions, including 
  2022. dynamic loading of the DLL. - My program always crash with a "bang" when
  2023. trying to call the API.
  2024.  
  2025. However, calling it from VAC++ 3.0, Borland C++ 2.0 and any other C++ compiler
  2026. is no problem. The problem is that I want to move to VAC++ 4.0 because of 
  2027. a _huge_ number of new and improved features over any other OS/2 C++
  2028. compiler that I know about. Still, I want to keep the physical RAM monitoring
  2029. feature in my programs.
  2030.  
  2031. >Anyway, to prevent further confusion, the exact information returned by this
  2032. >API (and not available through ANY 32 bit API) is:
  2033. >    MEMMAN=NOSWAP:  <physical pages>-<resident pages>-<swappable pages>-
  2034. >                       <discardable pages>-16
  2035. >
  2036. >Under MEMMAN=SWAP, you're getting back roughly what
  2037. >DosQuerySysInfo(TOTMEMAVAIL) returns -- roughly speaking, this is <available
  2038. >physical memory>+<available disk space on the swap drive>. I tend to agree
  2039. >that this information is not useless, but nearly so.
  2040. >    -Scott Garfinkle
  2041. >    OS/2 Change Team Lead Programmer
  2042. >
  2043. >
  2044.  
  2045. If the SWAPPATH is on a drive with _lots_ of free space then the 
  2046. information returned by DosQuerySysInfo(TOTMEMAVAIL) isn't even 
  2047. roughly the same as returned by Dos16MemAvail(). In practical
  2048. situations (to _me_, and _my_ needs ;-) I find the information
  2049. returned by DosQuerySysInfo(TOTMEMAVAIL) almost useless.
  2050. Anyway, the Larsen Commander monitors this value as well.
  2051.  
  2052. Best regards
  2053. Leif-Erik Larsen
  2054.  
  2055.  
  2056.  
  2057.  
  2058. --- WtrGate+ v0.93.p7 sn 165
  2059.  * Origin: Usenet: Telenor Online Public Access (1:109/42)
  2060.  
  2061. +----------------------------------------------------------------------------+
  2062.  
  2063. From: robmv@ibm.net                                     13-Oct-99 10:26:05
  2064.   To: All                                               13-Oct-99 14:36:18
  2065. Subj: dynamic loadable driver (OS/2)?????
  2066.  
  2067. From: Robert Marcano <robmv@ibm.net>
  2068.  
  2069. Este es un mensaje de varias partes en formato MIME.
  2070. --------------2AACE9BF0B0E8D1C7B083194
  2071. Content-Type: text/plain; charset=us-ascii
  2072. Content-Transfer-Encoding: 7bit
  2073.  
  2074. I am making a device driver with VisualAge C++ 4.0 for OS/2, and
  2075. looking on the online help I found the term: "dynamic loadable driver",
  2076.  
  2077. that use the extension "dld" (Sounds like a good thing, but this is the
  2078.  
  2079. first time that I hear about it). But no more information than that,
  2080. Can somebody help me and tell me how it works?, how can I build one or
  2081. where to find information about that?
  2082.  
  2083. TIA
  2084.  
  2085. --------------2AACE9BF0B0E8D1C7B083194
  2086. Content-Type: text/x-vcard; charset=us-ascii;
  2087.  name="robmv.vcf"
  2088. Content-Transfer-Encoding: 7bit
  2089. Content-Description: Tarjeta para Robert Marcano
  2090. Content-Disposition: attachment;
  2091.  filename="robmv.vcf"
  2092.  
  2093. begin:vcard 
  2094. n:Marcano Varela;Robert Jesús
  2095. x-mozilla-html:TRUE
  2096. org:Programación Mecanizada C.A. (PROMCA)
  2097. adr:;;CCCT, 1ra Etapa, piso 2, oficina 205,
  2098. Chuao;Caracas;Miranda;1060;Venezuela
  2099. version:2.1
  2100. email;internet:robmv@ibm.net
  2101. title:System Architect
  2102. tel;fax:(+582) 9591729
  2103. tel;home:(+5816) 6218891
  2104. tel;work:(+582)9 591665
  2105. note;quoted-printable:Certified VisualAge for Smalltalk Associate
  2106. Developer=0D=0ACertified VisualAge for C++ Associate Developer=0D=0ACertified
  2107. OS/2 Warp Engineer
  2108. x-mozilla-cpt:;0
  2109. fn:Robert Jesús Marcano Varela
  2110. end:vcard
  2111.  
  2112. --------------2AACE9BF0B0E8D1C7B083194--
  2113.  
  2114. --- WtrGate+ v0.93.p7 sn 165
  2115.  * Origin: Usenet: =?iso-8859-1?Q?Programaci=F3n?= Mecanizada C.A. (
  2116. (1:109/42)
  2117.  
  2118. +----------------------------------------------------------------------------+
  2119.  
  2120. From: jasper_de_keijzer@nl.compuware.com                13-Oct-99 16:21:16
  2121.   To: All                                               13-Oct-99 14:36:18
  2122. Subj: WINDOWS Metafiles
  2123.  
  2124. From: Jasper de Keijzer <jasper_de_keijzer@nl.compuware.com>
  2125.  
  2126. Dear developer,
  2127.  
  2128. Currently I'm investigating a filter to display Windows metafiles on
  2129. other platforms. But unfortunatly at some point the picture looks
  2130. different on OS/2 & MOTIF than on WIndows. 
  2131.  
  2132. When I load metafiles which contain a kind of gradient filled polygons
  2133. the gradient filling cannot be found back in the metafile records. Even
  2134. so is the case with clipping. 
  2135.  
  2136. An example:
  2137. When I load the tennis.wmf which comes with office 97, the strings of
  2138. the racket are displayed not only in the racket but also partially
  2139. outside the racket. If I load the picture in WORD it looks fine.
  2140. If I process the records in a windows program the strings get also
  2141. outside the racket.
  2142.  
  2143. It seems to me that somehow certain metafile records needs to be treated
  2144. with care, but how?
  2145.  
  2146. Does anyone here have experience with these kind of issues and can give
  2147. me a hint?
  2148.  
  2149. Any help is appreciated,
  2150.  
  2151. Jasper de Keijzer.
  2152.  
  2153. --- WtrGate+ v0.93.p7 sn 165
  2154.  * Origin: Usenet: Compuware Uniface Amsterdam (1:109/42)
  2155.  
  2156. +----------------------------------------------------------------------------+
  2157.  
  2158. From: djohnson@isomedia.com                             13-Oct-99 10:04:00
  2159.   To: All                                               13-Oct-99 16:43:24
  2160. Subj: Re: Generic WinOS/2 audio driver revisited
  2161.  
  2162. From: "David T. Johnson" <djohnson@isomedia.com>
  2163.  
  2164.  
  2165. lamikr wrote:
  2166. > I am scary to uninstall and install voicetype back because I am afraid
  2167. > it would backlevel some files compared to fp12.
  2168. The FP12 updates multimedia files but I don't think it updates voicetype
  2169. files.  BUT...if it did, you can still uninstall voicetype and reinstall
  2170. voicetype AND maintain service level with fixtool 1.41.  The fixtool
  2171. program will not update a file if it does not need to.  You do a
  2172. selective uninstall of voicetype and reboot.  Then do a selective
  2173. install of voicetype.  Reboot.  Then, start the fixtool program from an
  2174. OS/2 prompt.  When the fixtool program starts, it examines your
  2175. installation to determine if serviceable files exist.  If voicetype
  2176. files are serviceable, it will tell you to put in only those fixpack
  2177. disks that are required to service them.  Then, you reboot and you will
  2178. have a properly installed voicetype and service level fixpack 12.
  2179.  
  2180. --- WtrGate+ v0.93.p7 sn 165
  2181.  * Origin: Usenet: Posted via Supernews, http://www.supernews.com (1:109/42)
  2182.  
  2183. +----------------------------------------------------------------------------+
  2184.  
  2185. From: djohnson@isomedia.com                             13-Oct-99 10:14:16
  2186.   To: All                                               13-Oct-99 16:43:24
  2187. Subj: Re: Generic WinOS/2 audio driver revisited
  2188.  
  2189. From: "David T. Johnson" <djohnson@isomedia.com>
  2190.  
  2191.  
  2192. Scott McLennan wrote:
  2193. > You need to check the Aureal home page before you buy an A3D card.  There
  2194. are
  2195. > warnings that some cards DO NOT work with the reference drivers which were
  2196. > written for the reference board design
  2197.  
  2198. As far as I know, all four of the cards that I listed will work with the
  2199. OS/2 drivers.  And most generic cards as well.  Actually, I have never
  2200. heard of an 8820-based card that would NOT work with the OS/2 drivers. 
  2201. The only problem people seem to have with the Aureal 8820 OS/2 drivers
  2202. is they appear to install properly and then there is no sound.  This is
  2203. usually because their previous sound drivers are still installed and
  2204. preventing the Aureal drivers from working.  My meat-axe approach is to
  2205. delete the MMOS2 directory, do a selective reinstall of multimedia
  2206. services, and THEN reinstall the Aureal drivers.  Then apply the
  2207. appropriate fixpack to update the service level of multimedia.  This
  2208. always works for me.  If you are really clever, you can fool around with
  2209. the MMOS2 settings and so forth to remove the old drivers but...I favor
  2210. the deletion approach.  No worries.  (Note:  the fixpack service tool
  2211. will only update the multimedia files if that is all that is required,
  2212. not the entire OS/2 installation.)  I think the warnings on the web page
  2213. apply primarily to the Windows drivers. 
  2214.  
  2215.  
  2216.  
  2217.  --the OS/2 drivers are also written
  2218. > against the reference design.  I had good luck going to Price Watch
  2219. > http://www.imart.org/fimart/pricewat.htm
  2220. > and searching for a generic A3D card manufactured to the Aureal design. 
  2221. Best
  2222. > price I found was $19.
  2223. > In message <3801F744.9D64A149@isomedia.com> - "David T. Johnson"
  2224. > <djohnson@isomedia.com>Mon, 11 Oct 1999 10:42:13 -0400 writes:
  2225. > :>
  2226. > :>
  2227. > :>
  2228. > :>I found four Vortex 1 8820-based cards that are available retail
  2229. > :>at CompUSA stores.  I have also listed the CompUSA SKU# and the retail
  2230. > :>price.  This is from March, 1999 so it might be out-of-date.
  2231. > :>
  2232. > :>      1. "Magic Wave A3D Audio Accelerator PCI" by I/O Magic. SKU#
  2233. > :>195304 $39.99
  2234. > :>
  2235. > :>      2. "Diamond Sonic Impact S90" by Diamond Multimedia. SKU# 216601
  2236. > :>$49.99
  2237. > :>
  2238. > :>      3. "HiVal PCI 338 A3D Sound Card" SKU# 192299 $49.99
  2239. > :>
  2240. > :>      4. "Montego A3D Xstream" by Turtle Beach. SKU# 192288. $49.99
  2241.  
  2242. --- WtrGate+ v0.93.p7 sn 165
  2243.  * Origin: Usenet: Posted via Supernews, http://www.supernews.com (1:109/42)
  2244.  
  2245. +----------------------------------------------------------------------------+
  2246.  
  2247. From: mamodeo@stny.rr.com                               13-Oct-99 14:25:14
  2248.   To: All                                               13-Oct-99 16:43:25
  2249. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  2250.  
  2251. From: Marty <mamodeo@stny.rr.com>
  2252.  
  2253. Bj¢rn Vermo wrote:
  2254. > Maybe because I have been using OS/2 for PRACTICAL tasks since version 1.0
  2255. > pre-release? I am not very impressed with programs which tell me "You have x 
  2256. bytes
  2257. > free RAM", and I sincerely hope that anybody who use undocumented "features" 
  2258. are
  2259. > careful to document that they do so - as a warning to possible users. Those
  2260. things
  2261. > have a habit of coming back to haunt you, to the great shock of every new
  2262. generation
  2263. > of "gee,how clever I am" programmers - which, I suppose, included most of us 
  2264. at some
  2265. > time.
  2266. > And no, I cannot think of one single practical use for such a function in an
  2267. > application. Obviously, neither could IBM. If I were interested in programs
  2268. that use
  2269. > undocumented "features", I would use Windows. Since I prefer reliability
  2270. instead, I
  2271. > use OS/2.
  2272.  
  2273. I can see one possible legitimate use.  Suppose you wish to have a
  2274. program optimized for speed.  This program is very memory hungry and the
  2275. more it can allocate, the better it will perform (many graphical and
  2276. multimedia applications can be this way).  However, if it allocates
  2277. beyond the physical RAM, the performance takes a nosedive and allocating
  2278. more memory does more harm then good.  It would have to know how much
  2279. physical RAM you have free to do such a thing.
  2280.  
  2281. - Marty
  2282.  
  2283. --- WtrGate+ v0.93.p7 sn 165
  2284.  * Origin: Usenet: IBM Global Services North -- Burlington, Vermont,
  2285. (1:109/42)
  2286.  
  2287. +----------------------------------------------------------------------------+
  2288.  
  2289. From: volkov_andrew@hotmail.com                         13-Oct-99 17:33:11
  2290.   To: All                                               13-Oct-99 16:43:25
  2291. Subj: Access to floppy disks in c programs
  2292.  
  2293. From: "Andrew Volkov" <volkov_andrew@hotmail.com>
  2294.  
  2295. Hi,
  2296.  
  2297. I have disk: 2 head, 80 tracks, 16 sectros and sector size if 256 bytes.
  2298.  
  2299. How i can access to this disk in my c/c++  program?
  2300. I use DosDevIOCtl DSK_READTRACK function but it returns SECTOR_NOT_FOUND
  2301. error... :(
  2302.  
  2303. Anybody can help me???
  2304.  
  2305. Best regards, Andrew
  2306.  
  2307. --- WtrGate+ v0.93.p7 sn 165
  2308.  * Origin: Usenet: MTU-Inform ISP (1:109/42)
  2309.  
  2310. +----------------------------------------------------------------------------+
  2311.  
  2312. From: jgbc@mail1.stofanet.dk                            13-Oct-99 20:33:22
  2313.   To: All                                               13-Oct-99 16:43:25
  2314. Subj: _wpDrop and _wpCnrSetEmphasis
  2315.  
  2316. From: Jens Borch Christiansen <jgbc@mail1.stofanet.dk>
  2317.  
  2318. I am in the process of making a new icon class (i.e. sub classing the
  2319. wpicon class). My code is nearly finished but I have a problem with
  2320. setting the emphasis of the objects being dropped on the icon object.
  2321. My program is similar to MMIcon (if anybody remembers that program) -
  2322. i.e. if you drop any object (except an icon object) on an icon file,
  2323. then the icon of that object will change to the icon of the file. The
  2324. problem is, that I can't seem to set the emphasis of the dropped
  2325. objects right after the drop operation has ended. I get a strange
  2326. looking square white box without any corners around the dropped objects.
  2327. My code for setting emphasis is as follows:
  2328.  
  2329. SOM_Scope MRESULT  SOMLINK ico_wpDrop(DDIcon *somSelf, 
  2330.                                       HWND
  2331.                                       hwndCnr,                   
  2332.                                       PDRAGINFO pdrgInfo,
  2333.                                       PDRAGITEM
  2334.                                       pdrgItem)      
  2335. {                                                                              
  2336.                                           
  2337.    .
  2338.    .
  2339.    .
  2340.    .
  2341.                                                                                
  2342.          
  2343. Assign a new icon to the dropped object using _wpSetup. If the object
  2344. is a folder and the "usOperation" is equal to "DO_COPY", then set
  2345. the animation icon.
  2346.  
  2347.    .
  2348.    .
  2349.    .
  2350.    .
  2351.  
  2352.  
  2353.    success =_wpCnrSetEmphasis(OBJECT_FROM_PREC(pdrgItem->ulItemID),
  2354.                               CRA_SOURCE | CRA_SELECTED,
  2355.                               FALSE);                             
  2356.    _Pmpf(("_wpCnrSetEmphasis returns : %d", success));
  2357.    // Note: _wpCnrSetEmphasis always returns 1
  2358.    return (parent_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem));
  2359. }                                                                              
  2360.                                           
  2361.                                                                                
  2362.                                           
  2363. Note: I have tried setting all the different kinds of emphasis that OS/2
  2364. provides with _wpCnrSetEmphasis
  2365.  
  2366. --- WtrGate+ v0.93.p7 sn 165
  2367.  * Origin: Usenet: Customer at Telia Danmark (http://www.telia.dk/) (1:109/42)
  2368.  
  2369. +----------------------------------------------------------------------------+
  2370.  
  2371. From: abuse@orac.clara.co.uk                            13-Oct-99 19:42:18
  2372.   To: All                                               13-Oct-99 16:43:25
  2373. Subj: Re: MuxWait "turn-taking"
  2374.  
  2375. From: abuse@orac.clara.co.uk (Paul Ratcliffe)
  2376.  
  2377. On 12 Oct 1999 13:55:32 GMT, Mads Orbesen Troest <mads@troest.NEVERMORE.dk>
  2378. wrote:
  2379.  
  2380. >After making my thread wait on the MuxWait again, I reset the 
  2381. >processed Event 1.
  2382.  
  2383. From another thread?
  2384.  
  2385. >My question is now: would this code ever reach the point where Event 3
  2386. >could be serviced, or will the MuxWait always trigger on Event 1 in 
  2387. >this case, Event 1 - being the first - always being checked before the
  2388. >others? Or is there some "turn taking" taking place so that other 
  2389. >semaphores are also checked?
  2390.  
  2391. Don't know. It should be easy enough to write a test program to confirm it
  2392. though.
  2393.  
  2394. >Even if the MuxWait is posted no matter which Event was triggered, I 
  2395. >use the user-parameter in the service routine to find out which Event 
  2396. >triggered, talking corresponding action. But as indicated, I am 
  2397. >worried that this sceme prevents any but the first Event to be 
  2398. >serviced.
  2399.  
  2400. Can you not just query all the event sems every time your muxwait is posted to
  2401. see which of them needs servicing? Once they are all serviced, then you go
  2402. round the loop and wait for the muxwait again.
  2403.  
  2404. --- WtrGate+ v0.93.p7 sn 165
  2405.  * Origin: Usenet: The Floppy BBS (1:109/42)
  2406.  
  2407. +----------------------------------------------------------------------------+
  2408.  
  2409. From: htjxym@eggman-network.hypermart.net               14-Oct-99 02:01:07
  2410.   To: All                                               14-Oct-99 03:59:07
  2411. Subj: Stop others from using your computer!!!  9879
  2412.  
  2413. From: htjxym@eggman-network.hypermart.net
  2414.  
  2415. That's right....stop others from using your computer now!
  2416. Desktop Blocker will password protect your Windows system so that nobody
  2417. except for you will be able to access your desktop.
  2418. Keep that co-worker off your computer, keep the babysitter off the Internet,
  2419. and keep the wife from discovering your "collection"(you shouldn't be looking
  2420. at that stuff anyway).
  2421. Desktop Blocker is a FREE download at: http://www.eggman.net/desktopblocker
  2422. Take a couple seconds to view our SCREENSHOT:
  2423. http://www.eggman.net/software/dbss.htm
  2424. Lock-up your desktop today!!!
  2425. -EggMan Network
  2426.  
  2427. wrzifwfsirixihweytvmpdczov
  2428.  
  2429. --- WtrGate+ v0.93.p7 sn 165
  2430.  * Origin: Usenet: @Home Network (1:109/42)
  2431.  
  2432. +----------------------------------------------------------------------------+
  2433.  
  2434. From: g.pfeiffer@asc.de                                 14-Oct-99 09:44:12
  2435.   To: All                                               14-Oct-99 10:29:21
  2436. Subj: Problems with file handling
  2437.  
  2438. From: Gerald Pfeiffer <g.pfeiffer@asc.de>
  2439.  
  2440. Hello,
  2441.  
  2442. we have different problems concerning the file handling.
  2443.  
  2444. A description of the problems follows (I cannot deliver any
  2445. small code because the problems occur in a huge system
  2446. and do only occur from time to time.
  2447.  
  2448. Thanks in advance for any help or suggestions that may help us.
  2449. Every information concerning the internal architecture of the
  2450. OS/2 filehandling and the HPFS is welcome too.
  2451.  
  2452. Best regards
  2453.  
  2454. Gerald Pfeiffer
  2455.  
  2456. Conditions:
  2457. - The Application is running on Pentium 133 - 166 MHz
  2458.   with SCSI-harddisk.
  2459. - OS/2 Warp Connect Version 3.0 with Fixpack 32
  2460. - When the application is running, no other software (except
  2461.   the operating system) is running.
  2462. - IBM VisualAge 3.0 Fixpack 8 is used for development
  2463. - used Filesystem is HPFS
  2464. - Multithread-process (60-80 Threads) keeping an amount of
  2465.   about 2500 files open
  2466. - Most files are opened with exclusive read and write access.
  2467. - cache is enabled
  2468. - a large number of file-access (read and write)
  2469. - At different timepoints and situations a number of ca. 150
  2470.   files is closed and a short time later reopend again. After
  2471.   this there is an intensive use of read and write for these
  2472.   files.
  2473. - In addition to this, single files are opened to store other data.
  2474.   After writing the file is closed again and another file is
  2475.   opened. When all of these files have been written, our system
  2476.   opens them all again. This procedure is neccessary for our
  2477.   application.
  2478.  
  2479.  
  2480.  
  2481. 1. APIRET 30 (ERROR_READ_FAULT)
  2482. -------------------------------
  2483.  
  2484. DosOpen returns with APIRET NO_ERROR. A following DosWrite returns
  2485. with APIRET-code ERROR_READ_FAULT. In the same way does DosClose.
  2486. After a reboot manual "CHKDSK E: /F" sometimes detects errors in
  2487. the filesystem.
  2488. In most cases a solution is to delete the file concerned and open
  2489. it again.
  2490.  
  2491. Note:
  2492. This problem occurs from time to time. In most cases the system
  2493. has not been shutdown before switching off power.
  2494.  
  2495. Questions:
  2496. ?:    How can a read error occur while writting?
  2497.       (Of course a write operation needs some control information
  2498.       that has to be read from disk, but I think this problem cannot
  2499.       be based in an incorrect use of DosOpen. )
  2500.       The file has been opend with DosOpen with exclusive read and write
  2501.  
  2502.       access.
  2503. ?:    How can this problem be solved or better how can it be avoided?
  2504.  
  2505.  
  2506. 2. Wrong file size is returned
  2507. ------------------------------
  2508.  
  2509. Using DosQueryFileInfo to get the filesize of a file the returned
  2510. filesize is sometimes smaller than the real filesize.
  2511. A call of DosResetBuffer before the DosQueryFileInfo does not
  2512. solve the problem. Even if the DosQueryFileInfo is repeated after
  2513. a timeout of about 5 seconds (DosSleep) the result is the same.
  2514.  
  2515. An attempt to find out the real filesize using DosSetFilePtr
  2516. ends up with the same result.
  2517.  
  2518. Supposition:
  2519. The file system / file handling is overloaded and therefor
  2520. not up-to-date. Or it has dropped certain jobs in this overload
  2521. situation without returning an error code. (See also supposition
  2522. later)
  2523.  
  2524.  
  2525. 3. DosClose returns NO_ERROR, DosOpen ERROR_SHARING_VIOLATION
  2526. -------------------------------------------------------------
  2527.  
  2528. Sometimes the following problem appears:
  2529. A file that has been opened with DosOpen for exclusive read and
  2530. write access is closed using DosClose. The APIRET-code for the
  2531. DosClose is NO_ERROR. After that the file is immediately
  2532. reopened with DosOpen for exclusive read and
  2533. write access. But DosOpen returns with the error code
  2534. ERROR_SHARING_VIOLATION although the file has been
  2535. closed correctly according to the APIRET of DosClose. From this
  2536. time on the DosOpen-call for this file always fails
  2537. with ERROR_SHARING_VIOLATION.
  2538. The process must be stopped and restarted before the file can be
  2539. accessed again. This is a big problem for our system, because
  2540. the systems at our coustomers have to run 24 hours on 7 days
  2541. the week.
  2542.  
  2543. Supposition:
  2544. At the time the DosClose is called the system is overloaded
  2545. and returns the APIRET NO_ERROR without finishing the job.
  2546.  
  2547.  
  2548.  
  2549.  
  2550. Supposition concerning file system / file handling
  2551. --------------------------------------------------
  2552.  
  2553. My supposition concerning the HPFS-file system and file handling
  2554. in OS/2 Warp 3 are based in the main points on the problems 2 and 3.
  2555.  
  2556. I suppose that the file handling uses a job input-ringbuffer.
  2557. The calling thread puts its job (API-call DosOpen, DosClose,
  2558. DosWrite,...) into this buffer. Another internal thread does
  2559. the real job of opening, writing, and so on.
  2560. It is likely that there is a check (e.g. is the file opened, is
  2561. the handle valid, ...) for the input parameters before
  2562. a job is placed into the input-ringbuffer.
  2563. In case of a high number of jobs arriving in a short time the
  2564. input-ringbuffer will be full and the input check does not
  2565. pay attention to the stored jobs in the input-ringbuffer.
  2566.  
  2567. ==> DosClose ==> NO_ERROR
  2568.    ==> DosOpen for the same file ==> ERROR_SHARING_VIOLATION
  2569. ==> wrong file size is returned
  2570.  
  2571.  
  2572. Another supposition is that some API-Calls (DosOpen, DosClose,...)
  2573. are executed immediately and others need more time for execution
  2574. or are cached. So the returns of directly executed API-calls
  2575. may not return the real (uncached) state.
  2576.  
  2577.  
  2578.  
  2579. --- WtrGate+ v0.93.p7 sn 165
  2580.  * Origin: Origin Line 1 Goes Here (1:109/42)
  2581.  
  2582. +----------------------------------------------------------------------------+
  2583.  
  2584. From: rlwalsh@packet.net                                14-Oct-99 08:19:00
  2585.   To: All                                               14-Oct-99 10:29:21
  2586. Subj: Re: _wpDrop and _wpCnrSetEmphasis
  2587.  
  2588. From: rlwalsh@packet.net (Rich Walsh)
  2589.  
  2590. On Wed, 13 Oct 1999 19:33:45, Jens Borch Christiansen <jgbc@mail1.stofanet.dk> 
  2591. wrote:
  2592.  
  2593. > I am in the process of making a new icon class (i.e. sub classing the
  2594. > wpicon class). My code is nearly finished but I have a problem with
  2595. > setting the emphasis of the objects being dropped on the icon object.
  2596. > My program is similar to MMIcon (if anybody remembers that program) -
  2597. > i.e. if you drop any object (except an icon object) on an icon file,
  2598. > then the icon of that object will change to the icon of the file. The
  2599. > problem is, that I can't seem to set the emphasis of the dropped
  2600. > objects right after the drop operation has ended. I get a strange
  2601. > looking square white box without any corners around the dropped objects.
  2602. > My code for setting emphasis is as follows:
  2603. > SOM_Scope MRESULT  SOMLINK ico_wpDrop(DDIcon *somSelf, HWND hwndCnr,
  2604. >                            PDRAGINFO pdrgInfo, PDRAGITEM pdrgItem)      
  2605. > {                                                                            
  2606.                                             
  2607. >    .
  2608. >    .
  2609. > Assign a new icon to the dropped object using _wpSetup. If the object
  2610. > is a folder and the "usOperation" is equal to "DO_COPY", then set
  2611. > the animation icon.
  2612. >    .
  2613. >    .
  2614. >    success =_wpCnrSetEmphasis(OBJECT_FROM_PREC(pdrgItem->ulItemID),
  2615. >                               CRA_SOURCE | CRA_SELECTED,
  2616. >                               FALSE);                             
  2617. >    _Pmpf(("_wpCnrSetEmphasis returns : %d", success));
  2618. >    // Note: _wpCnrSetEmphasis always returns 1
  2619. >    return (parent_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem));
  2620. > }                                                                            
  2621.                                             
  2622. >                                                                              
  2623.                                             
  2624. > Note: I have tried setting all the different kinds of emphasis that OS/2
  2625. > provides with _wpCnrSetEmphasis
  2626.  
  2627. I think you've created this problem for yourself by doing too much.
  2628.  
  2629. The source object and/or container set the source emphasis when the
  2630. drag began and will remove it when DrgDrag() returns.  Since yours is
  2631. the target object, this is "none of your business".  Plus, how do you
  2632. know that the source had selected emphasis to start with?  (An object
  2633. need not be selected in order to be dragged.)
  2634.  
  2635. Then too, why are you calling the parent method when (I assume) you
  2636. have completely implemented the drop action yourself?  The parent
  2637. method is almost certainly a no-op that will return an inappropriate
  2638. value rather than one which indicates that the drop was successful
  2639. (i.e RC_DROP_ITEMCOMPLETE).
  2640.  
  2641. AFAIK, _wpCnr* methods are intended for use with container windows
  2642. that you've created and should not be invoked for WPFolder windows
  2643. except in very unusual circumstances.  To sum up:  if you remove
  2644. _wpCnrSetEmphasis, don't invoke the parent's method, and return an
  2645. appropriate value, your code should function as intended.
  2646.  
  2647.  
  2648.    == == almost usable email address:  rlwalshATpacket.net == ==
  2649. ___________________________________________________________________
  2650.  
  2651.                 |             - DragText v3.1 -
  2652. Rich Walsh      |  A Distinctly Different Desktop Enhancement
  2653. Ft Myers, FL    |  New!  Pickup & Drop for text, and more...
  2654.                 |  http://www.usacomputers.net/personal/rlwalsh/
  2655. ___________________________________________________________________
  2656.  
  2657. --- WtrGate+ v0.93.p7 sn 165
  2658.  * Origin: Usenet: http://extra.newsguy.com (1:109/42)
  2659.  
  2660. +----------------------------------------------------------------------------+
  2661.  
  2662. From: Stefan.Milcke@t-online.de                         14-Oct-99 20:56:24
  2663.   To: All                                               14-Oct-99 20:03:12
  2664. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  2665.  
  2666. From: Stefan Milcke <Stefan.Milcke@t-online.de>
  2667.  
  2668. Marty schrieb:
  2669. > Bj¢rn Vermo wrote:
  2670. > >
  2671. > > Maybe because I have been using OS/2 for PRACTICAL tasks since version 1.0
  2672. > > pre-release? I am not very impressed with programs which tell me "You have 
  2673. x bytes
  2674. > > free RAM", and I sincerely hope that anybody who use undocumented
  2675. "features" are
  2676. > > careful to document that they do so - as a warning to possible users.
  2677. Those things
  2678. > > have a habit of coming back to haunt you, to the great shock of every new
  2679. generation
  2680. > > of "gee,how clever I am" programmers - which, I suppose, included most of
  2681. us at some
  2682. > > time.
  2683. > > And no, I cannot think of one single practical use for such a function in
  2684. an
  2685. > > application. Obviously, neither could IBM. If I were interested in
  2686. programs that use
  2687. > > undocumented "features", I would use Windows. Since I prefer reliability
  2688. instead, I
  2689. > > use OS/2.
  2690. > I can see one possible legitimate use.  Suppose you wish to have a
  2691. > program optimized for speed.  This program is very memory hungry and the
  2692. > more it can allocate, the better it will perform (many graphical and
  2693. > multimedia applications can be this way).  However, if it allocates
  2694. > beyond the physical RAM, the performance takes a nosedive and allocating
  2695. > more memory does more harm then good.  It would have to know how much
  2696. > physical RAM you have free to do such a thing.
  2697. And just after your application has called the function an other process
  2698. needs RAM and allocates beyond the physical RAM !?!?!?
  2699. Or an other process has allocated much memory but is still waiting for
  2700. some events. Then your application will run much faster if it allocates
  2701. memory as it needs and produces only one swap operation. !?!?
  2702. Whe are using a real multi tasking operating system. The Information
  2703. from this call is just an Information. And you can assume that this
  2704. information is obsolete as soon as the function returns. You can use it
  2705. for statistical purposes or/and some monitoring applications. But your
  2706. application should not make decisions based on this information.
  2707.  
  2708. MfG Stefan Milcke
  2709. 42 ;-)
  2710.  
  2711. --- WtrGate+ v0.93.p7 sn 165
  2712.  * Origin: Usenet: T-Online (1:109/42)
  2713.  
  2714. +----------------------------------------------------------------------------+
  2715.  
  2716. From: uno@40th.com                                      14-Oct-99 19:26:10
  2717.   To: All                                               14-Oct-99 20:03:12
  2718. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  2719.  
  2720. From: uno@40th.com (uno@40th.com)
  2721.  
  2722. It's useful as an indicator, that's all.  No one out there is using it
  2723. for much else (ie, not checking that and then limiting oneself to that
  2724. amount).  And useful it is:  it tells you when some app (like a browser)
  2725. has lost its marbles and is scarfing all memory (and swap -- most swap
  2726. 'monitors' are a joke).  If you're sitting with 512KB of available memory,
  2727. you A) should get more RAM, B) have an app that's leaking resources (Nav
  2728. always does this to me), or C) just have a lot of apps running.
  2729.  
  2730. With 128MB of memory, I never have swap being used, until I run the last
  2731. Nav 2.02 browser, then it can slowly (or quickly) deplete the memory
  2732. until all of a sudden I'm in the danger zone (run out of swap).  So,
  2733. if I see no RAM then I know something's wrong (and that something is
  2734. always Nav).
  2735.  
  2736. Stefan Milcke? (Stefan.Milcke@t-online.de?) wrote (Thu, 14 Oct 1999 20:56:49 +
  2737. <Judge 444>
  2738.  
  2739.  '`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'
  2740.  Corne1 Huth  -  http://40th.com/
  2741.  Bullet database engines/servers 3.1  Win32-WinCE-OS2-Linux+
  2742.  
  2743. --- WtrGate+ v0.93.p7 sn 165
  2744.  * Origin: Usenet: Yanaguana (1:109/42)
  2745.  
  2746. +----------------------------------------------------------------------------+
  2747.  
  2748. From: bogusaddress@bogusdomain.com                      14-Oct-99 13:01:21
  2749.   To: All                                               14-Oct-99 20:03:12
  2750. Subj: OS/2 WSeB and Watcom 11.0b - Debugger doesn't work
  2751.  
  2752. From: bogus <bogusaddress@bogusdomain.com>
  2753.  
  2754. Under OS/2 WSeB, Watcom 11.0b's debugger generates an error message any
  2755. time you debug an app with symbols.
  2756.  
  2757. The error message Watcom generates is "A task exception has occurred
  2758. general protection fault."
  2759.  
  2760. After you restart the app you get a regular OS/2 trap page talking about
  2761. an error in DosCall1 but the address doesn't jive with what the debugger
  2762. shows, so I'm thinking this is a collateral error.
  2763.  
  2764. It appears to die in the startup code.  If you pick "Debug Startup" from
  2765. the Run menu, then it doesn't die immediately.  I tried tracing through
  2766. the startup code to see if I could peg it down a bit better, but there
  2767. is a lot of source to trace through as assembly and the OS portions tend
  2768. to hang a lot under the debugger (ctrl-alt-del).  It appears that Debug
  2769. Startup puts you just before DLL initialization (which agrees with what
  2770. the DOCS say).  
  2771.  
  2772. After I chose to show all modules in the module window, I noticed that
  2773. there is a difference between WSEB and Warp4: in WSEB the first call
  2774. after a debug startup goes to PMSPL.DLL but in Warp it goes to
  2775. DOSCALL1.DLL.  I don't know if the order that dll's get initialized
  2776. depends on some obscure outside condition, but it isn't going to depend
  2777. on the order of the files in the directory since HPFS always presents
  2778. files in alphabetic order so if this is the case the files should always
  2779. load in the same order.  This behavior strikes me as very strange.
  2780.  
  2781. I tried adding the C startup code to the source path, but that didn't
  2782. seem to help.  I also added breakpoints at the entry point to the RTL
  2783. but it trapped before it got there.  When the app dies, it doesn't list
  2784. a module at the top of the assembly window.
  2785.  
  2786. I'm thinking that this thing is dying somewhere in the Debugger's
  2787. loading routine before it even hits the RTL or my app.
  2788.  
  2789. I also tried running Borland TD 1.01 on a borland generated version of
  2790. the app and it worked without fault.
  2791.  
  2792. I ran WATFIX against my EXE and it reported no DLL fixup errors.
  2793.  
  2794. To Al Balmer:
  2795.  
  2796. The SYM file is separate.  I don't know about -d1 or d2, I'll try that. 
  2797. I did try all three formats (Dwarf etc) and that didn't make any
  2798. difference.  The only thing that let the EXE run was if there was no SYM
  2799. file in the directory.
  2800.  
  2801. >Stephen Howe [TeamSybase] wrote:
  2802. > I have been asked by email:
  2803. > >I've been looking through sybase support, I was wondering if you have heard
  2804. > of the debugger not
  2805. > >working on OS/2WSeB?  Any file that you load that has a symbol file (any of
  2806. > the 3 formats) will not
  2807. > >load, it gets an error before it even starts.  Files load fine if there is
  2808. > no symbol file.  I have
  2809. > >heard of one other person having the same trouble.
  2810.  
  2811. --- WtrGate+ v0.93.p7 sn 165
  2812.  * Origin: Usenet: via Internet Direct - http://www.mydirect.com/ (1:109/42)
  2813.  
  2814. +----------------------------------------------------------------------------+
  2815.  
  2816. From: thannymeister@spambegone.yahoo.com                14-Oct-99 17:29:15
  2817.   To: All                                               14-Oct-99 20:03:13
  2818. Subj: DosDevIOCtl(), category 8, DSK_READTRACK
  2819.  
  2820. From: "Mike Ruskai" <thannymeister@spambegone.yahoo.com>
  2821.  
  2822. I'm attempting to get around the 2GB limitation of the file access API, which
  2823. I've been using to read a sector from a volume.  Because of that limitation,
  2824. it won't work for drives larger than 2GB.
  2825.  
  2826. I figure the way to do it is a category 0x08 (IOCTL_DISK), function 0x64
  2827. (DSK_READTRACK) call to DosDevIOCtl().  
  2828.  
  2829. The problem is that despite that category being for logical disk access (as
  2830. opposed to physical disk access), the necessary parameters are still heads
  2831. and cylinders.  How do I determine what cylinder and head number to use?
  2832.  
  2833. I can get data back from the function using head 0 and cylinder 0, but the
  2834. data doesn't look like anything that's actually on the drive.
  2835.  
  2836.  
  2837. --
  2838.  - Mike
  2839.  
  2840. Remove 'spambegone' to send e-mail.
  2841.  
  2842.  
  2843. --- WtrGate+ v0.93.p7 sn 165
  2844.  * Origin: Usenet: TLF (1:109/42)
  2845.  
  2846. +----------------------------------------------------------------------------+
  2847.  
  2848. From: thannymeister@spambegone.yahoo.com                14-Oct-99 18:07:11
  2849.   To: All                                               14-Oct-99 20:03:13
  2850. Subj: Re: Problems with file handling
  2851.  
  2852. From: "Mike Ruskai" <thannymeister@spambegone.yahoo.com>
  2853.  
  2854. On Thu, 14 Oct 1999 09:44:24 +0100, Gerald Pfeiffer wrote:
  2855.  
  2856. [snip]
  2857.  
  2858. >1. APIRET 30 (ERROR_READ_FAULT)
  2859. >-------------------------------
  2860. [snip]
  2861.  
  2862. My first guess for your symptoms would be a failing, or substandard drive. 
  2863. Make a backup, and get a new one.
  2864.  
  2865.  
  2866. --
  2867.  - Mike
  2868.  
  2869. Remove 'spambegone' to send e-mail.
  2870.  
  2871.  
  2872. --- WtrGate+ v0.93.p7 sn 165
  2873.  * Origin: Usenet: TLF (1:109/42)
  2874.  
  2875. +----------------------------------------------------------------------------+
  2876.  
  2877. From: mamodeo@stny.rr.com                               15-Oct-99 00:13:25
  2878.   To: All                                               15-Oct-99 02:48:15
  2879. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  2880.  
  2881. From: Marty <mamodeo@stny.rr.com>
  2882.  
  2883. Stefan Milcke wrote:
  2884. > Marty schrieb:
  2885. > >
  2886. > > Bj rn Vermo wrote:
  2887. > > >
  2888. > > > Maybe because I have been using OS/2 for PRACTICAL tasks since version
  2889. 1.0
  2890. > > > pre-release? I am not very impressed with programs which tell me "You
  2891. have x bytes
  2892. > > > free RAM", and I sincerely hope that anybody who use undocumented
  2893. "features" are
  2894. > > > careful to document that they do so - as a warning to possible users.
  2895. Those things
  2896. > > > have a habit of coming back to haunt you, to the great shock of every
  2897. new generation
  2898. > > > of "gee,how clever I am" programmers - which, I suppose, included most
  2899. of us at some
  2900. > > > time.
  2901. > > > And no, I cannot think of one single practical use for such a function
  2902. in an
  2903. > > > application. Obviously, neither could IBM. If I were interested in
  2904. programs that use
  2905. > > > undocumented "features", I would use Windows. Since I prefer reliability 
  2906. instead, I
  2907. > > > use OS/2.
  2908. > > I can see one possible legitimate use.  Suppose you wish to have a
  2909. > > program optimized for speed.  This program is very memory hungry and the
  2910. > > more it can allocate, the better it will perform (many graphical and
  2911. > > multimedia applications can be this way).  However, if it allocates
  2912. > > beyond the physical RAM, the performance takes a nosedive and allocating
  2913. > > more memory does more harm then good.  It would have to know how much
  2914. > > physical RAM you have free to do such a thing.
  2915.  
  2916. Calm down.  Use a few more carriage returns and a few less !?'s.
  2917.  
  2918. > And just after your application has called the function an other process
  2919. > needs RAM and allocates beyond the physical RAM !?!?!?
  2920. > Or an other process has allocated much memory but is still waiting for
  2921. > some events. Then your application will run much faster if it allocates
  2922. > memory as it needs and produces only one swap operation. !?!?
  2923.  
  2924. Chances are, if you're running such a graphically intensive multimedia
  2925. app, it is the focus of what you are doing and has the right to demand
  2926. the most resources.  Many Win32 apps make this assumption and for the
  2927. most part it works well.
  2928.  
  2929. > Whe are using a real multi tasking operating system. The Information
  2930. > from this call is just an Information. And you can assume that this
  2931. > information is obsolete as soon as the function returns. You can use it
  2932. > for statistical purposes or/and some monitoring applications. But your
  2933. > application should not make decisions based on this information.
  2934.  
  2935. If you are playing a 400MB digital video off of a CD, how much do you
  2936. buffer?  How do you have any idea how much to buffer?  Do you use a hard
  2937. and fast amount that causes people with slow CDROM drives to suffer?  Or
  2938. do you copy most of it into your swap file and perform inefficiently? 
  2939. The information has definite uses.
  2940.  
  2941. - Marty
  2942.  
  2943. --- WtrGate+ v0.93.p7 sn 165
  2944.  * Origin: Usenet: Time Warner Road Runner - Binghamton NY (1:109/42)
  2945.  
  2946. +----------------------------------------------------------------------------+
  2947.  
  2948. From: bogusaddress@bogusdomain.com                      15-Oct-99 00:11:08
  2949.   To: All                                               15-Oct-99 05:27:03
  2950. Subj: Re: Watcom 11.0b on OS/2 Warp Server for e-Business
  2951.  
  2952. From: bogus <bogusaddress@bogusdomain.com>
  2953.  
  2954. I played with this some more tonight, comparing what happens in Warp 4
  2955. and what happens in WSeB.
  2956.  
  2957. Warp 4, Watcom Debugger 11.0b, my test app:
  2958.  
  2959. (All this goes on in DOSCALL1 although I didn't find this out until I
  2960. tried the borland debugger below)
  2961. When the app starts, it is in DOSCALL1, it makes a magic CALL to an
  2962. address (29aa:0) that never changes, but each time it reaches into the
  2963. initialization routine of a different .DLL.  In this case it loads:
  2964.  
  2965. DOSCALL1.DLL
  2966. TCPTIME.DLL
  2967. TCP32DLL.DLL
  2968. SO32DLL.DLL
  2969. and then jumps to _cstart at 5b:25fb2.  The program runs normally.
  2970.  
  2971. --------------------------------------------------
  2972. WSEB, Borland Turbo Debugger 1.01, my test app:
  2973.  
  2974. like above it makes the magic calls, it loads:
  2975.  
  2976. TCPIP32.DLL
  2977. SO32DLL.DLL
  2978. TCP32DLL.DLL
  2979. and then jumps to _cstart at 5b:25fb2.  The program runs normally.
  2980.  
  2981. -----------------------------------------------------
  2982. WSEB, Watcom Debugger 11.0b, my test app:
  2983.  
  2984. Like above it makes the same magic calls, it loads:
  2985.  
  2986. PMSPL.DLL
  2987. PMVIOP.DLL
  2988. ???? Unknown DLL
  2989. SOFTDRAW.DLL
  2990. PMGPI.DLL
  2991. FFST.DLL
  2992. UCONV.DLL
  2993. STD32.DLL
  2994. and then jumps to 17:5fb7 and promptly traps.  This address is within
  2995. the RTL (as evidenced by a copyright message later in the segment that
  2996. is included in the source for the startup code on the CD.)  
  2997.  
  2998. I thought this might be the case of a trashed jump address (since they
  2999. are quite similar looking), but correcting it to cstart using the
  3000. debugger's jump command doesn't help, it just traps as before.
  3001.  
  3002. Also, each time it starts, all the debugging sessions appear to start at
  3003. exactly the same point which is what I would expect.  I don't know what
  3004. more to make of this.  It looks like there is some problem in DOSCALL1
  3005. when Watcom's debugger is loaded, but I don't know enough about
  3006. debuggers to diagnose it.
  3007.  
  3008. Oh, my email address is aurorasw direct ca (add appropriate ats and
  3009. dots.)  Thanks if you have any suggestions.
  3010.  
  3011. --- WtrGate+ v0.93.p7 sn 165
  3012.  * Origin: Origin Line 1 Goes Here (1:109/42)
  3013.  
  3014. +----------------------------------------------------------------------------+
  3015.  
  3016. From: hei@hatespam.norman.no                            15-Oct-99 07:35:23
  3017.   To: All                                               15-Oct-99 05:27:03
  3018. Subj: Re: Problems with file handling
  3019.  
  3020. From: hei@hatespam.norman.no (Harald Eilertsen)
  3021.  
  3022. On Thu, 14 Oct 1999 08:44:24, Gerald Pfeiffer <g.pfeiffer@asc.de> 
  3023. wrote:
  3024.  
  3025. > Supposition concerning file system / file handling
  3026. > --------------------------------------------------
  3027. > I suppose that the file handling uses a job input-ringbuffer.
  3028. > The calling thread puts its job (API-call DosOpen, DosClose,
  3029. > DosWrite,...) into this buffer. Another internal thread does
  3030. > the real job of opening, writing, and so on.
  3031.  
  3032. I think your problems most likely are related to the driver. In your 
  3033. case the scsi adapter driver. Have you tried using different scsi 
  3034. adapters (and drivers)? Also check if updated drivers exist on ddpak 
  3035. online: http://service.software.ibm.com/os2ddpak/html/index.htm
  3036.  
  3037. > Another supposition is that some API-Calls (DosOpen, DosClose,...)
  3038. > are executed immediately and others need more time for execution
  3039. > or are cached. 
  3040.  
  3041. These API's are eventually handled by the underlying device driver. 
  3042. (At least if the data requested is not in the cache already). Normally
  3043. they would be handled by the thread that calls the API's. If the 
  3044. request is queued for later processing, the thread is blocked until 
  3045. the API can finish.
  3046.  
  3047. Take Care!
  3048. --
  3049. Harald Eilertsen
  3050. Norman Data Defence Systems
  3051. http://www.norman.no/
  3052.  
  3053. --- WtrGate+ v0.93.p7 sn 165
  3054.  * Origin: Usenet: Norman Data Defence Systems (1:109/42)
  3055.  
  3056. +----------------------------------------------------------------------------+
  3057.  
  3058. From: BLB.OTC@t-online.de                               15-Oct-99 09:59:07
  3059.   To: All                                               15-Oct-99 05:27:03
  3060. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  3061.  
  3062. From: Stefan Milcke <BLB.OTC@t-online.de>
  3063.  
  3064. Marty schrieb:
  3065. > > And just after your application has called the function an other process
  3066. > > needs RAM and allocates beyond the physical RAM !?!?!?
  3067. > > Or an other process has allocated much memory but is still waiting for
  3068. > > some events. Then your application will run much faster if it allocates
  3069. > > memory as it needs and produces only one swap operation. !?!?
  3070. > Chances are, if you're running such a graphically intensive multimedia
  3071. > app, it is the focus of what you are doing and has the right to demand
  3072. > the most resources.  Many Win32 apps make this assumption and for the
  3073. > most part it works well.
  3074. This is because all Win* OS seems to give the process with the top
  3075. window much more priority. This is not true with OS/2.
  3076. And sorry, I don't agree with you. Not the process that is in foreground
  3077. has the right to demand the most resources. If you are running a
  3078. background process that is downloading a file this will be very
  3079. expensive if it has low priority.
  3080.  
  3081. > > Whe are using a real multi tasking operating system. The Information
  3082. > > from this call is just an Information. And you can assume that this
  3083. > > information is obsolete as soon as the function returns. You can use it
  3084. > > for statistical purposes or/and some monitoring applications. But your
  3085. > > application should not make decisions based on this information.
  3086. > If you are playing a 400MB digital video off of a CD, how much do you
  3087. > buffer?  How do you have any idea how much to buffer?  Do you use a hard
  3088. > and fast amount that causes people with slow CDROM drives to suffer?  Or
  3089. > do you copy most of it into your swap file and perform inefficiently?
  3090. > The information has definite uses.
  3091. And if you are playing a 400MB digital video off a CD and an other
  3092. process has allocated much memory ? How much do you buffer ? Nothing ?
  3093. I have no Idea how much to buffer but i don't want to make a decision on
  3094. such an unreliable value.
  3095. Maybe I get the total physical memory that is installed in the system.
  3096. Maybe I let the user define how much he want's to buffer.
  3097. Maybe I define a max and a min number of frames to buffer and my
  3098. application makes decisions based on the frame rate it can display. This
  3099. is the way how my StWTV is playing it's recorded movies.
  3100.  
  3101. MfG Stefan Milcke
  3102. 42 ;-)
  3103.  
  3104. --- WtrGate+ v0.93.p7 sn 165
  3105.  * Origin: Usenet: T-Online (1:109/42)
  3106.  
  3107. +----------------------------------------------------------------------------+
  3108.  
  3109. From: shikojo@hotmail.com                               15-Oct-99 14:04:20
  3110.   To: All                                               15-Oct-99 14:34:17
  3111. Subj: Your New StartPage !
  3112.  
  3113. From: shikojo@hotmail.com (Shikojo)
  3114.  
  3115. I found the best ever site on the net !!!
  3116. Here you could find best Computers, Internet, Games, Entertainment and 
  3117. other links !
  3118. http://goldcity.hello.to/
  3119.  
  3120. -- 
  3121. http://hey.to/netmoney
  3122. The Revolution In Internet Begins !
  3123. Get Paid By The Net !
  3124. Make Money Surfing The Web !
  3125.  
  3126. --- WtrGate+ v0.93.p7 sn 165
  3127.  * Origin: Usenet: Get Paid By The Net (1:109/42)
  3128.  
  3129. +----------------------------------------------------------------------------+
  3130.  
  3131. From: mamodeo@stny.rr.com                               15-Oct-99 10:16:16
  3132.   To: All                                               15-Oct-99 14:34:17
  3133. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  3134.  
  3135. From: Marty <mamodeo@stny.rr.com>
  3136.  
  3137. Stefan Milcke wrote:
  3138. > Marty schrieb:
  3139. > > > And just after your application has called the function an other process
  3140. > > > needs RAM and allocates beyond the physical RAM !?!?!?
  3141. > > > Or an other process has allocated much memory but is still waiting for
  3142. > > > some events. Then your application will run much faster if it allocates
  3143. > > > memory as it needs and produces only one swap operation. !?!?
  3144. > > Chances are, if you're running such a graphically intensive multimedia
  3145. > > app, it is the focus of what you are doing and has the right to demand
  3146. > > the most resources.  Many Win32 apps make this assumption and for the
  3147. > > most part it works well.
  3148. > This is because all Win* OS seems to give the process with the top
  3149. > window much more priority. This is not true with OS/2.
  3150. > And sorry, I don't agree with you. Not the process that is in foreground
  3151. > has the right to demand the most resources. If you are running a
  3152. > background process that is downloading a file this will be very
  3153. > expensive if it has low priority.
  3154.  
  3155. Priority and resource allocation are two different animals.  Certainly
  3156. background tasks should not suffer from starvation of CPU time. 
  3157. However, less time-critical apps can take a back seat on memory
  3158. allocation and possibly chew on the disk a bit themselves for the sake
  3159. of more time-critical apps.
  3160.  
  3161. > > > Whe are using a real multi tasking operating system. The Information
  3162. > > > from this call is just an Information. And you can assume that this
  3163. > > > information is obsolete as soon as the function returns. You can use it
  3164. > > > for statistical purposes or/and some monitoring applications. But your
  3165. > > > application should not make decisions based on this information.
  3166. > > If you are playing a 400MB digital video off of a CD, how much do you
  3167. > > buffer?  How do you have any idea how much to buffer?  Do you use a hard
  3168. > > and fast amount that causes people with slow CDROM drives to suffer?  Or
  3169. > > do you copy most of it into your swap file and perform inefficiently?
  3170. > > The information has definite uses.
  3171. > And if you are playing a 400MB digital video off a CD and an other
  3172. > process has allocated much memory ? How much do you buffer ? Nothing ?
  3173. > I have no Idea how much to buffer but i don't want to make a decision on
  3174. > such an unreliable value.
  3175.  
  3176. I'm not saying it gets <all> of the free memory.  Perhaps it gets 80% or
  3177. so.  Other tasks are inevitably running, so we obviously need to give
  3178. them some leighway.  If you only have 2MB of physical RAM free, perhaps
  3179. a warning message is in order.  How are we going to get that
  3180. information?
  3181.  
  3182. > Maybe I get the total physical memory that is installed in the system.
  3183. > Maybe I let the user define how much he want's to buffer.
  3184. > Maybe I define a max and a min number of frames to buffer and my
  3185. > application makes decisions based on the frame rate it can display. This
  3186. > is the way how my StWTV is playing it's recorded movies.
  3187.  
  3188. The video was just an example.  Perhaps we are trying to do real-time 3D
  3189. rendering and need to know how much detail we can include in our surface
  3190. bitmaps.  Performance will suffer greatly if the bitmap textures don't
  3191. all fit into memory.  The scene can be rendered with smaller, less
  3192. detailed surface textures.  We need some information to determine which
  3193. set of textures to use.
  3194.  
  3195. - Marty
  3196.  
  3197. --- WtrGate+ v0.93.p7 sn 165
  3198.  * Origin: Usenet: IBM Global Services North -- Burlington, Vermont,
  3199. (1:109/42)
  3200.  
  3201. +----------------------------------------------------------------------------+
  3202.  
  3203. From: no_spam@blah.net                                  15-Oct-99 20:45:25
  3204.   To: All                                               15-Oct-99 21:58:15
  3205. Subj: Lost VACPP 3 icons
  3206.  
  3207. From: no_spam@blah.net (Charlie)
  3208.  
  3209. I accidentally deleted my VACPP icons from my desktop, as I remember 
  3210. there is a program to rebuild them without reinstalling.  Does anyone 
  3211. remember what it was?
  3212.  
  3213. Thanks....
  3214.  
  3215. --- WtrGate+ v0.93.p7 sn 165
  3216.  * Origin: Usenet: PenTeleData http://www.ptd.net (1:109/42)
  3217.  
  3218. +----------------------------------------------------------------------------+
  3219.  
  3220. From: Stefan.Milcke@t-online.de                         15-Oct-99 22:14:14
  3221.   To: All                                               15-Oct-99 21:58:15
  3222. Subj: Re: VAC++ 4.0 and Dos16MemAvail
  3223.  
  3224. From: Stefan Milcke <Stefan.Milcke@t-online.de>
  3225.  
  3226. Marty schrieb:
  3227. > Stefan Milcke wrote:
  3228. > > Marty schrieb:
  3229. > > > Chances are, if you're running such a graphically intensive multimedia
  3230. > > > app, it is the focus of what you are doing and has the right to demand
  3231. > > > the most resources.  Many Win32 apps make this assumption and for the
  3232. > > > most part it works well.
  3233. > > This is because all Win* OS seems to give the process with the top
  3234. > > window much more priority. This is not true with OS/2.
  3235. > > And sorry, I don't agree with you. Not the process that is in foreground
  3236. > > has the right to demand the most resources. If you are running a
  3237. > > background process that is downloading a file this will be very
  3238. > > expensive if it has low priority.
  3239. > Priority and resource allocation are two different animals.  Certainly
  3240. > background tasks should not suffer from starvation of CPU time.
  3241. > However, less time-critical apps can take a back seat on memory
  3242. > allocation and possibly chew on the disk a bit themselves for the sake
  3243. > of more time-critical apps.
  3244. You can replace "low priority" with "low memory".
  3245.  
  3246. > > And if you are playing a 400MB digital video off a CD and an other
  3247. > > process has allocated much memory ? How much do you buffer ? Nothing ?
  3248. > > I have no Idea how much to buffer but i don't want to make a decision on
  3249. > > such an unreliable value.
  3250. > I'm not saying it gets <all> of the free memory. Perhaps it gets 80% or
  3251. But the other application gets "all". What decision will you make in
  3252. your application ? Abort ? Wait, until you get more ?
  3253.  
  3254. > so.  Other tasks are inevitably running, so we obviously need to give
  3255. > them some leighway.  If you only have 2MB of physical RAM free, perhaps
  3256. > a warning message is in order.  How are we going to get that
  3257. > information?
  3258. You can't get an exact information that is valid for a longer time.
  3259.  
  3260. > > Maybe I get the total physical memory that is installed in the system.
  3261. > > Maybe I let the user define how much he want's to buffer.
  3262. > > Maybe I define a max and a min number of frames to buffer and my
  3263. > > application makes decisions based on the frame rate it can display. This
  3264. > > is the way how my StWTV is playing it's recorded movies.
  3265. > The video was just an example.
  3266. It was your example.
  3267.  
  3268. >  Perhaps we are trying to do real-time 3D
  3269. > rendering and need to know how much detail we can include in our surface
  3270. > bitmaps.  Performance will suffer greatly if the bitmap textures don't
  3271. > all fit into memory.  The scene can be rendered with smaller, less
  3272. > detailed surface textures.  We need some information to determine which
  3273. > set of textures to use.
  3274. And just if you have made your decision to use high resolution and begin
  3275. processing an other process allocates memory or you have decided to use
  3276. low resolution and an other process frees it's memory ?
  3277. Also in this example you can
  3278. - let the user define which textures to use
  3279. - let the application decide based on the frame rate which texture to
  3280. use
  3281. This is a better choice.
  3282.  
  3283. But now I think we should stop this discussion.
  3284.  
  3285. MfG Stefan Milcke
  3286. 42 ;-)
  3287.  
  3288. --- WtrGate+ v0.93.p7 sn 165
  3289.  * Origin: Usenet: T-Online (1:109/42)
  3290.  
  3291. +----------------------------------------------------------------------------+
  3292.  
  3293. +============================================================================+
  3294.