Xref: utzoo alt.msdos.programmer:422 comp.lang.pascal:2380
Path: utzoo!attcan!uunet!bloom-beacon!bionet!apple!sun-barr!rutgers!psuvax1!psuhcx!wcf
From: wcf@psuhcx.psu.edu (Bill Fenner)
Newsgroups: alt.msdos.programmer,comp.lang.pascal
Subject: Re: Multi-user BBS programmed with Turbo Pascal 5.5
Message-ID: <1672@psuhcx.psu.edu>
Date: 27 Sep 89 16:30:00 GMT
References: <89268.185440TBC101@PSUVM.BITNET>
Reply-To: wcf@psuhcx.psu.edu (Bill Fenner)
Organization: Engineering Computer Lab, Penn State University
Lines: 27

In article <89268.185440TBC101@PSUVM.BITNET> TBC101@PSUVM.BITNET (Thomas B. Collins, Jr.) writes:
|I am seriously considering writing a BBS.  I'll probably be writing it
|with Turbo Pascal 5.5 since I don't know C...  I'd like to be able to
|make it multi-user, and was wondering what I need to do as I
|plan/program in order to allow for this.  The only idea I've had so far
|is to write it so that it will run under something like Desqview and
|then a multiple copies of it for each 'Node' of the BBS.

You could either do that, or write a multi-tasking kernel, which services
I/O and other requests... then you can have one program running, no
need for Desqview or any other multitasker... unfortunately, writing a
multi-tasking kernel is a bear, and I certainly wouldn't want to try it.
:-)  So your best bet is probably to use a multi-tasker, run multiple copies
of the program, and use *good* *un-limiting* locks on your files... pref.
record-locking if you can figure out how...

Make sure you kill all the locks when you reboot (I had a lot of troubles
with this one time... a file was locked, I rebooted, and it was still locked
so the board would hang waiting to read it... ugh.) ("the board" there refers
to Lynx, which I was evaluating.  Didn't choose it.)

  Bill
-- 
   Bitnet: wcf@psuhcx.bitnet     Bill Fenner       | aaaaaaaaa
  Internet: wcf@hcx.psu.edu                        |            r
 UUCP: {gatech,rutgers}!psuvax1!psuhcx!wcf         |              g
Fido: Sysop at 1:129/87 (814/238 9633) \hogbbs!wcf |               h