Re: [PERFORM] scalability issues on win32
"Merlin Moncure" <[email protected]>
| Newsgroups | gmane.comp.db.postgresql.devel.win32 |
|---|---|
| Message-ID | <[email protected]> |
Andrew Dunstan wrote: > Claudio Natoli wrote: > > >Hi Merlin, > > > > > > > >>On a probably unrelated note: > >>Can some other win32 hacker try the following? > >>Download the latest cvs sources from the server and edit configure, > >>replacing all instances of '8.0beta5' with '8.0' etc. as is > >>will be when released. Following that do a full make/make clean. After > >>that try and start he server with pg_ctl.exe and tell me if it succeeds > or > >> > >> > >not. > > > >I can confirm this failure. > > > >(in my case at least) pg_ctl is not seeing the full version string of the > >postmaster in find_other_exec. This is due to the single call to ReadFile > in > >pipe_read_line, which is not returning the entire version string (losing > all > >characters beyond the last decimal point in the version string). A > >subsequent call to ReadFile picks up the remainder of the string. I don't > >see that we can rely on a single call returning the entire version > string. > > > > > > How is it that this has not bitten us elsewhere? Are we only reading > tiny things from pipes in other cases so that a single read works? It > seems very strange that a shorter version string should cause the failure. Bizarre, isn't it? popen on win32 (macro'd to _popen) is in the MS libraries, not the mingw libraries. I checked the msdn documentation for popen and there is nothing that suggests you have to loop to read a single line. Maybe it is a weird manifestation of a line termination issue. The version string has a line terminator as part of the string. Merlin ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings