[MUD-Dev] Question about Cygwin.
Nathan F.Yospe
yospe at kanga.nu
Tue Mar 6 23:33:53 CET 2001
Chris Gray <cg at ami-cg.GraySage.COM> said:
>> From: Chris Bunting <spindiggy at yahoo.com>
>> This has nothing to do with Mud Dev but this is the only list I've
>> used in the past. I'll make this quick too. Sorry for the off topic
>> post.
> Sounds entirely relevant to me. Mud-dev used to be quite technical,
> and this kind of question would have been pretty normal.
>> My Question, If a mud server, Rom, Merc, Smaug ECT codebase is
>> compiled with Cygwin under windows, Will it still allow multiplayer
>> support?
> I believe the answer is yes. My ToyMUD server (see my web site),
> compiles and runs fine under several variants of Unix and under
> Windows NT (didn't try any other versions). There are a few changes
> needed to do proper initialization of the Windows socket code, and
> you have to be a bit forgiving about some error return types,
> etc. Other than that, the only issue was that a control-C typed in
> the console window you start the server from will not cause system
> calls to be interrupted. The signal handler runs in a separate
> thread, and can do whatever it wants, such as setting a "shutdown
> requested" flag. If you check that flag when you come out of a
> socket call, you can then do your shutdown. If you use "select", and
> make sure that your minimum timeout is a few seconds, then there is
> no big difference.
> I can't speak for performance - the only experience I have with
> Windows socket performance was with UDP, and that a couple of years
> ago.
Just to clarify... cygwin is a gnu-under-windows package. It really
has little to do with Windows socket code... that's all wrapped. I
have not tried a mud under cygwin, but I've compiled multithreaded
(pthread) with multiple listening and server sockets and so forth
without difficulty on cygwin. So, to answer Chris Bunting, yes, as a
straight port, without a rewrite, you can do it. But, as Chris Gray
implied, you shouldn't need, or want, to use it as a real server under
that portability package. The rewrite effort, while existant, is
relatively trivial. You can build it with just a few changes to
socket code... as far as I know (and with the five years between me
and anything vaguely dikulike, that's limited), it should be trivial
to port to NT.
That said, if you are starting clean, I recommend looking at ACE
wrapper classes for a portable (Unix, NT, MacOS X, OS/2, others)
server.
--
Nathan F. Yospe email: yospe at kanga.nu nyospe at a2i.com nyospe at pacbell.net
Don't mind me, I'm just insane - there's someone else here, in my brain.
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list