> Thanks for your report.  The SourceForge patches facility
> hasn't been working out all that well for us, so we
> prefer to get patches mailed to the htdig-dev or
> htdig-general mailing lists.

OK.

>  I'm very interested in seeing all
> the patches you've made to 3.1.6 to get it to run on OpenVMS,
> though, so I would be greatful if you did post
> complete patches.

All of the patch is rather huge; I'll put it up for download
via FTP or HTTP somewhere.

> Given that for ExternalParser.cc, you
> simply went back to 3.1.5 code, I'd have to figure
> out some #ifdefs to allow going back to the old code, and add
> a ./configure test for the fork() call.

I did "#ifdef __VMS" all my changes, so that shouldn't be too
difficult.

>  I was a
> bit concerned about the portability of the new code, but it
> was requested to avoid security risks associated
> with popen().

I thought so. Man, you really have to go through hoops... ;-)

> I'm curious about this "system API" you mention.  It seems
> odd to me that OpenVMS supports the popen()
> call in the 3.1.5 ExternalParser.cc code, but not the
> system() function used in htmerge/words.cc.

VMS does of course support system(), but as the creation of
(sub-)processes is not as cheap as on *ix, and the system
utilities are not that well prepared to work with stdin/stdout,
that's not the way to sort. Instead, one uses the same API the
system utility SORT also uses. If you're interested in details,
the documentation is available online at
http://www.openvms.compaq.com/doc/73final/4493/4493pro_054.html#4493_sor
_chap

I must say, however, that it bombed out when I tried to index the
VMS documentation ;-) But that probably is just a question of lacking
virtual memory for the process.

> I'm also
> interested in knowing how you implemented the changes to
> htcommon/WordList.cc, and when the file gets
> closed in your code, as well as why you had to do this for
> OpenVMS.  I'm guessing it was for efficiency, or to
> get around VMS making several versions of the file.

It was for efficency reasons. IIRC (it's been some time) you
open and close the wordlist file for every word you find -
fopen() on VMS is a rather expensive operation. I'll provide
some performance details later (I do all of the development
at home, while dealing with most of my mail at work...)

> As there likely will be a 3.1.7 release sometime later this
> year, it would be good to have it build "right out of
> the box" on VMS.  Please also let us know which version of
> OpenVMS and Compaq C++ you tested this on.

My environment was
 OpenVMS Alpha V7.2-1
 Compaq C V6.4-008
 Compaq C++ V6.2-016
 MMS V3.4-3 (VMS make utility)
 Compaq PCA V4.7-3 (performance and coverage analyzer)

VMS 7.2-1 seemed logical, as it's the same that Compaq chose
to publish their Apache port on. As to the compiler versions,
every V6 C and C++ version should be okay (they did improve
the *ix portability considerably with every new version of the
compilers).

cu,
  Martin
--
So long, and thanks        | Martin Vorlaender  |  VMS & WNT programmer
for all the books...       | work: [EMAIL PROTECTED]
In Memoriam Douglas Adams  |   http://www.pdv-systeme.de/users/martinv/
            1952-2001      | home: [EMAIL PROTECTED]


_______________________________________________
htdig-dev mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/htdig-dev

Reply via email to