The OSProcess Plugin can't build for Win32

David T. Lewis lewis at mail.msen.com
Fri Nov 19 00:56:46 UTC 2004


Hi Joshua,

On Thu, Nov 18, 2004 at 08:33:32AM -0800, Joshua Scholar wrote:
> primitiveCreatePipe and primitiveCreatePipeWithSessionIdentifier methods of Win32OSProcessPlugin
> both call createPipeForReaderwriter which is defined for the UnixOSProcessPlugin but not the
> Win32OSProcessPlugin.
> 
> I suspect that it isn't safe to just copy the method over either because I think
> the Win32 version uses Windows specific calls not posix emulation.

Right, the Win32 OSPP uses Windows handles, not Unix style file numbers etc. This
is consistent with other I/O in the Windows VM.

I have to admit that I have not recompiled the Win32 OSPP in quite a while. Most likely
I screwed something up when I moved some methods around for Unix, sorry about that.
I'll check it out when I get some free time (maybe this weekend) but in the mean time
you can just comment things out in the create pipe primitives. They are not really useful
on Win32 anyway (I never did not come up with a reliable way to do non-blocking pipes on
Win32, and I'm afraid I lost interest in the problem).

> Another problem I noticed is that it also (I don't know how he got that in) has the lines:
> #include "FilePlugin.h"
> #include "SocketPlugin.h"
> 
> I had to copy the .h files by hand to get it to compile (if not link).

That would be fine. I fixed things up in the build tree for Unix so you don't have
to worry about this, but I didn't do anything about it for Windows. Copying the
headers as you did is OK.

Dave

p.s. I did do some additional development on the Win32 OSPP, but I never released
it because I didn't have a good solution to the non-blocking pipe problem. If there
is some real interest in this, maybe I'll have another look at it. But I don't really
use Windows much myself, so I had more or less lost interest in it.





More information about the Squeak-dev mailing list