Path: moe.ksu.ksu.edu!zaphod.mps.ohio-state.edu!wupost!sdd.hp.com!spool.mu.edu!agate!soda.berkeley.edu!tom From: tom@soda.berkeley.edu (Tom Holub) Newsgroups: rec.games.moria,comp.sys.apollo Subject: Diff for umoria 5.5 for Apollo workstations Date: 17 Sep 1992 09:51:46 GMT Organization: U.C. Berkeley, CS Undergraduate Association Lines: 74 Distribution: world Message-ID: <199kfiINNpc5@agate.berkeley.edu> NNTP-Posting-Host: soda.berkeley.edu Xref: moe.ksu.ksu.edu rec.games.moria:11807 comp.sys.apollo:13567 On an Apollo cluster, when a file is opened on one machine it is locked from all other machines. Umoria opens the high score file when a player starts the game and doesn't close it until he quits or saves; this keeps people on other machines from playing. Fortunately, the code to deal with this already exists (since there are many machines that behave in a similar manner). A diff that should take care of this problem follows. Note that umoria must run as setuid 'root', or the score file must be world writeable. Setuid 'games' isn't good enough because umoria writes save files into the user's home directory. --- begin included file diff umoria/Makefile apollo_umoria/Makefile 24a25,27 > /* Unless you're on a system, like an HP Apollo, that doesn't let > more than one machine access a file at a time. */ > #define APOLLO diff umoria/death.c apollo_umoria/death.c 233c233 < #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) --- > #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) || defined(APOLLO) 327c327 < #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) --- > #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) || defined(APOLLO) 344c344 < #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) --- > #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) || defined(APOLLO) 348c348 < #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) --- > #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) || defined(APOLLO) 385c385 < #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) --- > #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) || defined(APOLLO) 415c415 < #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) --- > #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) || defined(APOLLO) 602c602 < #if defined(VMS) || defined(MSDOS) || defined(AMIGA) || defined(MAC) --- > #if defined(VMS) || defined(MSDOS) || defined(AMIGA) || defined(MAC) || defined(APOLLO) 655c655 < #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) --- > #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) || defined(APOLLO) 757c757 < #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) --- > #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) || defined(APOLLO) 765c765 < #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) --- > #if defined(MSDOS) || defined(VMS) || defined(AMIGA) || defined(MAC) || defined(APOLLO) 843c843 < #if !defined(VMS) && !defined(MSDOS) && !defined(AMIGA) && !defined(MAC) --- > #if !defined(VMS) && !defined(MSDOS) && !defined(AMIGA) && !defined(MAC) && !defined(APOLLO) diff umoria/files.c apollo_umoria/files.c 104c104 < #if defined(MSDOS) || defined(VMS) || defined(MAC) --- > #if defined(MSDOS) || defined(VMS) || defined(MAC) || defined(APOLLO) --- end included file